ORA 触发器的问题,大侠请进

ThinkBank_Chen 2010-11-19 05:52:50


DROP TABLE SIMM_H_F_MASTER CASCADE CONSTRAINTS ;

CREATE TABLE SIMM_H_F_MASTER (
IMSI_H VARCHAR2 (20) NOT NULL,
MSISDN_H VARCHAR2 (20) NOT NULL,
NETWORKID NUMBER (2) NOT NULL,
PROVINCE_NUM NUMBER (2),
IMSI_F VARCHAR2 (20),
MSISDN_F VARCHAR2 (20),
COS VARCHAR2 (3),
STATUS NUMBER (1) DEFAULT 1 NOT NULL,
CONSTRAINT SIMM_H_F_MASTER_PK PRIMARY KEY ( MSISDN_H, NETWORKID ) USING INDEX
) ;


DROP TABLE SIMM_UPDATE_SUBS_INFO CASCADE CONSTRAINTS ;

CREATE TABLE SIMM_UPDATE_SUBS_INFO(
IMSI_H VARCHAR2 (20) NOT NULL,
MSISDN_H VARCHAR2 (20) NOT NULL,
IMSI_F VARCHAR2 (20),
MSISDN_F VARCHAR2 (20),
STATUS NUMBER (1) DEFAULT 1 NOT NULL,
SENDOUT NUMBER (1) DEFAULT 0 NOT NULL,
INSTANCE_NAME VARCHAR2 (20),
LAST_MODIFIED_DAT DATE ,
CONSTRAINT SIMM_UPDATE_SUBS_INFO PRIMARY KEY (IMSI_H) USING INDEX
) ;

CREATE OR REPLACE TRIGGER TRIG_UPDATE_SUNBS
   AFTER INSERT OR UPDATE OR DELETE ON SIMM_H_F_MASTER FOR EACH ROW
BEGIN
if inserting then
if exists(SELECT IMSI_H FROM SIMM_UPDATE_SUBS_INFO WHERE IMSI_H = :NEW.IMSI_H) then
delete from SIMM_UPDATE_SUBS_INFO where IMSI_H = :NEW.IMSI_H;
end if;
insert into SIMM_UPDATE_SUBS_INFO
(IMSI_H,MSISDN_H,IMSI_F,MSISDN_F,STATUS,LAST_MODIFIED_DAT,INSTANCE_NAME,SENDOUT) values (:NEW.IMSI_H,:NEW.MSISDN_H,:NEW.IMSI_F,:NEW.MSISDN_F,:NEW.STATUS,sysdate,'SIMM-R-CUINCOM',0);
end if;

if deleting then
update SIMM_UPDATE_SUBS_INFO set MSISDN_H=:OLD.MSISDN_H,IMSI_F=:OLD.IMSI_F,MSISDN_F=:OLD.MSISDN_F,STATUS=-1,LAST_MODIFIED_DAT=sysdate,SENDOUT=0 where IMSI_H=:OLD.IMSI_H;
end if;

if updating then
update SIMM_UPDATE_SUBS_INFO set MSISDN_H=:NEW.MSISDN_H,IMSI_F=:NEW.IMSI_F,MSISDN_F=:NEW.MSISDN_F,STATUS=:NEW.STATUS,LAST_MODIFIED_DAT=sysdate,SENDOUT=0 where IMSI_H=:OLD.IMSI_H;
end if;

END



编译不通过,哪位高手帮我指点指点
...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ThinkBank_Chen 2010-11-22
  • 打赏
  • 举报
回复
晕了,最后一行没有分号..............
ThinkBank_Chen 2010-11-22
  • 打赏
  • 举报
回复
报错的信息:

Compilation errors for TRIGGER SIMMRDEV.TRIG_UPDATE_SUNBS

Error: PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:

; <an identifier> <a double-quoted delimited-identifier>
The symbol ";" was substituted for "end-of-file" to continue.
Line: 20
Text: END
ThinkBank_Chen 2010-11-22
  • 打赏
  • 举报
回复
如题:ORA 触发器的问题
zhaojianmi1 2010-11-21
  • 打赏
  • 举报
回复
什么平台,什么数据库,什么报错信息都没有

7,388

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧