触发器转换?

jiaguwen123 2007-10-10 05:02:03
CREATE OR REPLACE TRIGGER "DYT"."UPT_BSS97_TRIG" BEFORE
UPDATETIME OF "ACC_NBR","LRN", "TYPE","PAUSE_STS", "PROD_ID", "SERV_STS", "SSB_TYPE","NAN_TYPE","ONLY_ID","GROUP_ID","NT_TYPE","LANG_ID","OFF_BEGIN","OFF_END","ASS_ID","UPDATETIMEIND" ON "MC_BSS97" FOR EACH ROW
begin
IF :new.ssb_type < >:old.ssb_type and :new.ssb_type >0 then
:new.canceltime := sysDATETIME;
END IF;
IF (:new.ssb_type < >:old.ssb_type) or
(:new.nan_type < >:old.nan_type) or
(:new.serv_sts < >:old.serv_sts) or
(:new.pause_sts < >:old.pause_sts) or
(:new.prod_id < >:old.prod_id) or
(:new.lrn < >:old.lrn ) or
(:new.only_id < >:old.only_id) or
(:new.group_id < >:old.group_id ) or
(:new.nt_type < >:old.nt_type) or
(:new.lang_id < >:old.lang_id) or
(:new.off_begin < >:old.off_begin ) or
(:new.off_end < >:old.off_end ) or
(:new.ass_id < >:old.ass_id ) or
(:new.type < >:old.type) then
:new.modtime := sysDATETIME;
select upDATETIME97_seq.nextval into :new.upDATETIMEInd from dual;
END IF;
IF (:new.upDATETIMEInd <:old.upDATETIMEInd) then
select upDATETIME97_seq.nextval into :new.upDATETIMEInd from dual;
END IF;
END;
大家好,麻烦给我看下这个用oracle写的触发器怎样转换成MSSQL的? 谢谢!!!
...全文
122 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiaguwen123 2007-10-12
  • 打赏
  • 举报
回复
怎么没人回答啊!
我给大家说下功能....麻烦各位给我翻译下哦!谢谢``````
这代码就是说:当更新这些指定字段时,进行比较.其中:new开头指的是字段更新前的值.:old 开头指的是字段更新后的值;sysDATETIME是系统时间. select upDATETIME97_seq.nextval into :new.upDATETIMEInd from dual; 这话是说给更新前的upDATETIMEInd 行号加一.
还有update97_seq.nextval.是oracle里的序列 就是取下一个序号的意思

22,294

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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