在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语句提交事务。