我写了一个触发事件但执行到某一句的时候就执行不下去了,但也没报错,我想抛出这句的出错信息,如何抛出异常呢?麻烦各位大哥告知小弟,谢谢
create or replace trigger new_sms
after INSERT
on cardlog FOR EACH ROW
declare
str varchar2(300);
CMNAME varchar2(20);
CMMOBILE1 varchar2(20);
BEGIN
if (:new.cdltrans='50') then
----执行中间这个select 语句赋值给CMNAME变量的时候就执行不下去了
select custmember.CMNAME into CMNAME from custmember,cardmain where custmember.cmmemid=cardmain.cdmcid and cardmain.cdmno=:new.cdlcno and custmember.CMMOBILE1 is not null;
----执行中间这个select 语句赋值给CMNAME变量的时候就执行不下去了
str:='尊敬的'||CMNAME||',欢迎您加入VIP会员俱乐部,我们将竭诚为您提供优质的服务';
INSERT INTO YZL_DX_SEND (CDMNO,CMNAME,CONTENT,MOBILE,SB,FS_DATE,send) values(:new.cdlcno,CMNAME,str,CMMOBILE1,'3',sysdate,'N');
end if;
end;如何在执行select 这条语句的时候抛出异常,谢谢
create or replace trigger new_sms
after INSERT
on cardlog FOR EACH ROW
declare
str varchar2(300);
CMNAME varchar2(20);
CMMOBILE1 varchar2(20);
BEGIN
if (:new.cdltrans='50') then
----执行中间这个select 语句赋值给CMNAME变量的时候就执行不下去了
select custmember.CMNAME into CMNAME from custmember,cardmain where custmember.cmmemid=cardmain.cdmcid and cardmain.cdmno=:new.cdlcno and custmember.CMMOBILE1 is not null;
----执行中间这个select 语句赋值给CMNAME变量的时候就执行不下去了
str:='尊敬的'||CMNAME||',欢迎您加入VIP会员俱乐部,我们将竭诚为您提供优质的服务';
INSERT INTO YZL_DX_SEND (CDMNO,CMNAME,CONTENT,MOBILE,SB,FS_DATE,send) values(:new.cdlcno,CMNAME,str,CMMOBILE1,'3',sysdate,'N');
end if;
end;如何在执行select 这条语句的时候抛出异常,谢谢
用DBMS_OUTPUT打印出SQLCODE和SQLERRM,然后具体定位异常问题
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);