在PL/SQL中向表中批量添加數據,可以使用INSERT INTO語句配合FORALL語句來實現。以下是一個示例:
DECLARE
TYPE emp_type IS TABLE OF employees%ROWTYPE; -- 定義一個記錄類型
emp_data emp_type; -- 聲明一個記錄變量
BEGIN
-- 初始化記錄變量
emp_data := emp_type();
-- 填充記錄變量
emp_data.extend(3); -- 擴展記錄變量以容納3行數據
emp_data(1).employee_id := 101;
emp_data(1).first_name := 'John';
emp_data(1).last_name := 'Doe';
emp_data(2).employee_id := 102;
emp_data(2).first_name := 'Jane';
emp_data(2).last_name := 'Smith';
emp_data(3).employee_id := 103;
emp_data(3).first_name := 'Mike';
emp_data(3).last_name := 'Johnson';
-- 批量插入數據
FORALL i IN 1..emp_data.count
INSERT INTO employees VALUES emp_data(i);
COMMIT; -- 提交事務
END;
/
在上面的示例中,首先定義了一個記錄類型emp_type,然后聲明了一個記錄變量emp_data。接著使用extend方法擴展了記錄變量以容納3行數據,并填充了這些數據。最后使用FORALL語句批量插入數據到employees表中,并通過COMMIT語句提交事務。