【发布时间】:2020-03-04 01:55:19
【问题描述】:
我正在尝试创建一个触发器,该触发器将从我的表乘客中检查列名 dreservation_status 中的空值,如果它为空,则将其设置为默认值,并向用户显示将其设置为默认值的消息。
触发器已创建并可以正常设置默认值,但不会向用户显示任何消息。
create or replace trigger mytrigger
before insert or update on passenger
for each row
when (new.reservation_status IS NULL)
begin
IF :new.reservation_status IS NULL THEN
:new.reservation_status := 'not reserved';
dbms_output.put_line('reservation status invalid, set to default');
end IF;
end mytrigger
/
如果值为空,则该值将更改为“未保留”,但未显示“保留状态无效,设置为默认值”消息。帮助。
【问题讨论】:
-
你是从 sqlplus 运行的吗?你需要执行“set serveroutput on”
-
是的,我正在使用 sqlplus。我确实将 serveroutput 设置为在触发器之外它没有做任何事情。
标签: oracle plsql sqlplus dbms-output