我正在尝试为我的表创建一个触发器,它根据某个标志设置为'Y'的时间自动添加一个发布日期
我没有太多创建触发器的经验,但到目前为止,这就是我所拥有的
create or replace
TRIGGER ADD_CREATE_DT
after UPDATE of approved ON articles
for each row
BEGIN
:new.create_dt := sysdate where approved = 'Y';
END;
Run Code Online (Sandbox Code Playgroud)
更新列时出现此错误
触发器'USER.ADD_CREATE_DT'无效且重新验证失败
有任何想法吗?
谢谢
Ton*_*ews 25
使用WHEN子句:
create or replace
TRIGGER ADD_CREATE_DT
after UPDATE of approved ON articles
for each row
when (new.approved = 'Y')
BEGIN
:new.create_dt := sysdate;
END;
Run Code Online (Sandbox Code Playgroud)
或使用IF:
create or replace
TRIGGER ADD_CREATE_DT
after UPDATE of approved ON articles
for each row
BEGIN
if :new.approved = 'Y' then
:new.create_dt := sysdate;
end if;
END;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,WHEN更合适和有效.
| 归档时间: |
|
| 查看次数: |
81227 次 |
| 最近记录: |