Процедура PL SQL из триггера - PullRequest
1 голос
/ 22 мая 2019

Я создал процедуру GETDEL, которая выбирает имя из студентов, но когда я пытаюсь вызвать эту процедуру в триггере, он говорит, что дал неправильные типы аргументов для вызова

Я пытался передать (записи) или (записи OUT SYS_REFCURSOR) в качестве аргумента, но это не работает

CREATE OR REPLACE PROCEDURE GETDEL(records OUT SYS_REFCURSOR) AS 
BEGIN
  OPEN records FOR
    SELECT name FROM  students;
END GETDEL;

CREATE OR REPLACE TRIGGER After_delete_student
AFTER DELETE ON TABLE2
FOR EACH ROW
DECLARE
  rec sys_refcursor;
BEGIN
  GETDELCZL();
END;

1 Ответ

3 голосов
/ 22 мая 2019

Ваша процедура содержит один параметр, и, хотя это выходной параметр, вызывающая процедура отвечает за его определение.

create or replace 
trigger after_delete_student
after delete 
 on table2
 for each row 
declare
    result_rec sys_refcursor;
begin 
    getdel(result_rec);
end;
...