PL PQL не выполняется должным образом - PullRequest
0 голосов
/ 30 октября 2018

Мне нужно вставить почти 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

...