我必须在一个表中插入近40000行,每次尝试在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块中有超过40000个insert语句,而不是上面所示的两个
我缩小脚本大小只是为了方便阅读