Сколько строк моя вставка сделала для Oracle? [Дубликат]

3
задан Utsav 1 June 2016 в 08:55
поделиться

1 ответ

dbms_output.put_line('No Of rows'||sql%Rowcount);

Это даст вам общее количество строк, обновленных оператором last . Таким образом, даже если у вас есть 10 инструкций вставки таким образом, вы всегда будете получать 1 как sql%rowcount.

Либо используйте 2 вывода, по одному после операторов insert, или используйте переменную и добавьте количество обновленных к ней строк, а затем отобразите их наконец.

declare
    v_count integer;
    begin 
        v_count:=0;
       Insert into APPLICATIONS (ID,ALIAS,NAME,STATUS) 
            values (1000000386,'BB','Branch Budgets','I');
        v_count:=   sql%Rowcount;
       Insert into APPLICATIONS (ID,ALIAS,NAME,STATUS) 
            values (1000000257,'TIME','Timesheets','I');
        v_count:= v_count+ sql%Rowcount;
       dbms_output.put_line('No Of rows '||v_count);
     commit;
     end;

ИЛИ Если вы вставляете данные в ту же таблицу, используйте комбинированный оператор insert, подобный этому. Это вернет 2 строки.

begin    
    INSERT ALL 
        into  APPLICATIONS (ID,ALIAS,NAME,STATUS) 
             values (1000000386,'BB','Branch Budgets','I')
        into  APPLICATIONS (ID,ALIAS,NAME,STATUS) 
             values (1000000257,'TIME','Timesheets','I')
    SELECT * FROM dual;         
    dbms_output.put_line('No Of rows '||sql%Rowcount);
    commit;
    end;
5
ответ дан arjun gaur 17 August 2018 в 14:16
поделиться
  • 1
    @arjun - Спасибо за предложенное редактирование. – Utsav 1 June 2016 в 10:18
  • 2
    Спасибо - моя сеть была опущена, поэтому я долго хотел ответить – user 1 June 2016 в 12:05
  • 3
    Нет проблем. Также, пожалуйста, примите ответы на ранее заданный вопрос, если вы еще этого не сделали. В случае, если на него не ответил должным образом, прокомментируйте ответ, чтобы его можно было посмотреть. Благодаря! – Utsav 1 June 2016 в 12:26
  • 4
    Я их обновил – user 1 June 2016 в 12:30
Другие вопросы по тегам:

Похожие вопросы: