如何将sql的触发器转换成Oracle的触发器

bibidog 2004-02-17 03:55:34
sql的触发器语句为
CREATE TRIGGER tu_cws_CWareRegisterCard ON [cws_CWareRegisterCard]
FOR UPDATE
AS
declare @CWareRCID integer
declare @CWareName char(60)
declare @CWareName2 char(60)
select @CWareRCID = CWareRCID , @CWareName = CWareName from inserted ttt

if(update(CWareName))
begin
if(exists (select 1 from cws_CWareList where CWareID in (select CWareID from cws_CWCompare where CWareRCID = @CWareRCID)))
select @CWareName2 = CWareName from cws_CWareList where CWareID in ( select CWareID from cws_CWCompare where CWareRCID = @CWareRCID )
if ( @CWareName2 <> @CWareName )
update cws_CWareList set CWareName = rtrim( @CWareName ) where CWareID in ( select CWareID from cws_CWCompare where CWareRCID = @CWareRCID )
end
我写的Oracle触发器为
declare
tCWareRCID integer;
tCWareName char(60);
tCWareName2 char(60);
begin
--select CWareRCID INTO tCwareRCID from inserted ttt;
--select CWareName INTO tCWareName from inserted ttt;
--if(update(CWareName))
if(exists(select null from cws_CWareList where CWareID in ( select CWareID from cws_CWCompare where CWareRCID = 1 )) then

select CWareName INTO tCWareName2 from cws_CWareList where CWareID in ( select CWareID from cws_CWCompare where CWareRCID = tCWareRCID );
if ( tCWareName2 <> tCWareName ) then
update cws_CWareList set CWareName = rtrim( tCWareName ) where CWareID in ( select CWareID from cws_CWCompare where CWareRCID = tCWareRCID );
end if;
end if;
end;
但是有错,谁能帮我解决!
...全文
39 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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