要向表中批量添加數據,可以使用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語句插入數據時,要確保插入的數據與目標表的結構一致,并且數據的順序與表中列的順序一致。