DBMS_OUTPUT.PUT_LINE 没有向用户显示消息
DBMS_OUTPUT.PUT_LINE not showing message to user
我正在尝试创建一个触发器,用于检查我的 table 乘客在 namesdreservation_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
/
如果值为空,则该值更改为 'not reserved',但未显示消息 'reservation status invalid, set to default'。帮助。
触发器在实际触发之前不会执行任何操作 - 在本例中,是在 INSERT 上。
clear screen
set serveroutput on
drop table passenger;
create table passenger (id integer, reservation_status varchar2(25));
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;
/
insert into passenger values (1, null);
commit;
如果我 运行 在 SQLPlus、SQLcl 或 SQL 开发人员 -
如果我们检查 table,您可以看到我们的触发器 'worked.'
我正在尝试创建一个触发器,用于检查我的 table 乘客在 namesdreservation_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
/
如果值为空,则该值更改为 'not reserved',但未显示消息 'reservation status invalid, set to default'。帮助。
触发器在实际触发之前不会执行任何操作 - 在本例中,是在 INSERT 上。
clear screen
set serveroutput on
drop table passenger;
create table passenger (id integer, reservation_status varchar2(25));
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;
/
insert into passenger values (1, null);
commit;
如果我 运行 在 SQLPlus、SQLcl 或 SQL 开发人员 -
如果我们检查 table,您可以看到我们的触发器 'worked.'