我必须在一个表中插入近4万行,并且每次我尝试在SQL Developer中执行它时,我都找不到该表中的任何行,好像它根本没有执行begin块一样,因为我在输出中放了一个味精要打印,执行完之后什么也没有,所以我试图只用几个插入语句来执行该块,并且它起作用了,
为什么SQL开发人员不能在PLSQL块中处理很多插入语句?
贝洛是我的剧本:
set serveroutput on
set linesize 200
set timing on
whenever sqlerror exit failure rollback;
whenever oserror exit failure rollback;
ALTER SESSION SET current_schema = carp;
ALTER SESSION SET nls_length_semantics = char;
DECLARE
v_rows_count VARCHAR2(10 CHAR);
PROCEDURE trace (p_message IN VARCHAR2)
IS
BEGIN
DBMS_OUTPUT.put_line (TO_CHAR (SYSDATE, 'YYYYMMDD HH24:MI:SS') || ' - INFO - ' || p_message);
END trace;
BEGIN
dbms_output.ENABLE(1000000);
TRACE ('=========== Exécution du script: START ===========');
Insert into my_table (PK_SEQ,CODE) values (1260389,'00AI');
Insert into my_table (PK_SEQ,CODE) values (1321244,'00AI');
select COUNT(*) into v_rows_count FROM carp.param_site_groupe_site;
dbms_output.put_line('Nombre de lignes insérées: ' || v_rows_count);
TRACE (q'[=========== Exécution du script: FIN ===========]');
COMMIT;
END;
/
exit;
请注意,begin块中有超过40 000个insert语句,而不是如上所示的两个 我缩小脚本的大小只是为了提高可读性