Мне нужно вставить почти 40 000 строк в таблицу, и каждый раз, когда я пытаюсь выполнить ее в SQL-разработчике, я не мог найти ни одной строки в таблице, кажется, что она вообще не выполняла блок 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;
обратите внимание, что в начале блока находится более 40 000 операторов вставки, а не два, как показано выше
Я уменьшил размер скрипта только для возможности восстановления porpuse