我有一张桌子
dates
(dob date,
age number(4)
);
Run Code Online (Sandbox Code Playgroud)
我将插入一个出生日期,触发器将计算年龄并在年龄字段中插入该年龄.
CREATE OR REPLACE PROCEDURE getage IS
ndob date;
nage number(10);
BEGIN
select dob into ndob from dates;
select (sysdate-to_date(ndob))/365 into nage from dual;
update dates set age=nage;
END;
/
SHOW ERRORS;
Run Code Online (Sandbox Code Playgroud)
这个过程工作正常,但只有一行,我需要触发所有行,但如果我从触发器调用它,则会发生错误.
CREATE OR REPLACE TRIGGER agec after INSERT OR UPDATE ON dates
FOR EACH ROW
BEGIN
getage;
END;
/
Run Code Online (Sandbox Code Playgroud)