温馨提示×

plsql怎么向表中批量添加数据

小亿
291
2023-10-10 20:35:53
栏目: 云计算

要向表中批量添加数据,可以使用PL/SQL的FORALL语句。FORALL语句可以将多个数据行一次性插入到表中,可以提高插入数据的效率。

以下是一个示例代码,演示如何使用FORALL语句批量添加数据:

DECLARE

TYPE emp_type IS TABLE OF employees%ROWTYPE;

emp_data emp_type;

BEGIN

– 初始化emp_data数组

emp_data := emp_type();

– 添加数据到emp_data数组

emp_data.EXTEND(3); – 扩展数组大小

emp_data(1).employee_id := 1001;

emp_data(1).first_name := ‘John’;

emp_data(1).last_name := ‘Doe’;

emp_data(2).employee_id := 1002;

emp_data(2).first_name := ‘Jane’;

emp_data(2).last_name := ‘Smith’;

emp_data(3).employee_id := 1003;

emp_data(3).first_name := ‘Mike’;

emp_data(3).last_name := ‘Johnson’;

– 使用FORALL语句批量插入数据

FORALL i IN 1…emp_data.COUNT

INSERT INTO employees(employee_id, first_name, last_name)

VALUES(emp_data(i).employee_id, emp_data(i).first_name, emp_data(i).last_name);

COMMIT;

DBMS_OUTPUT.PUT_LINE(‘数据添加成功’);

EXCEPTION

WHEN OTHERS THEN

DBMS_OUTPUT.PUT_LINE(‘数据添加失败:’ || SQLERRM);

END;

/

在上面的代码中,首先定义了一个emp_type类型,用于存储要插入的数据。然后,通过扩展emp_data数组的大小,初始化了emp_data数组,并设置了要插入的数据。最后,使用FORALL语句将数据一次性插入到employees表中,并在最后进行提交操作。

注意:在使用FORALL语句插入数据时,要确保插入的数据与目标表的结构一致,并且数据的顺序与表中列的顺序一致。

0