相关疑难解决方法(0)

使用oracle plsql触发器计算生日年龄并在表中插入年龄

我有一张桌子

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)

sql database oracle triggers plsql

3
推荐指数
1
解决办法
8186
查看次数

标签 统计

database ×1

oracle ×1

plsql ×1

sql ×1

triggers ×1