[PL/SQL] результат, возвращаемый UPDATE

elika

declare
...
begin
...
update <shema>.<table> set <бла-бла-бла>;
...
end;

мне нужно знать количество измененных строк. как получить в какой-нибудь переменной результат выполнения команды DML (в данном случае это UPDATE)?

pitrik2

попробуй вбить в гугл:
pl/sql update number of updated rows

elika

гугл предложил такой вариант:
CREATE OR REPLACE
PROCEDURE sample IS
v_rows_processed integer := 0;
BEGIN
UPDATE sample
SET testno = 1;
WHERE test = 'PL/SQL';
v_rows_processed := SQL%ROWCOUNT;
dbms_output.enable;
dbms_output.put_line('There were '||v_rows_processed||' rows updated');
IF v_rows_processed := 0
THEN
/* Insert Statement */
END IF;
END sample;.
и вобщем-то задачу он решает. спасибо.

vovaV09

SQL%ROWCOUNT
Оставить комментарий
Имя или ник:
Комментарий: