【发布时间】:2017-09-02 06:46:59
【问题描述】:
作业要求:创建一个触发器,其中帐户必须属于一个且仅一个客户。
我的代码如下所示不起作用。 错误消息:引用的字符串未正确终止。请帮忙。
create or replace trigger dupcust
before insert or update on ACCOUNT
for each row
declare
v_ctn NUMBER;
begin
select count(account.cname) into v_ctn from account where A#=:new.A#;
if v_ctn>0 then
raise_application_error (-20107, 'ACCT CAN ONLY BELONG TO ONE CUSTOMER');
end if;
end;
测试代码:
UPDATE ACCOUNT SET ACCOUNT.CNAME =’Cook’ WHERE ACCOUNT.A# = ‘1111’;
【问题讨论】:
-
A#不应该是ACCOUNT的主键吗?因此,每个帐号应该不可能有多个记录,因此一个帐户不可能有多个客户。
标签: plsql