触发器两错误,求解

dongliang_lu 2014-06-14 03:19:15
create trigger sss on pod_det
for insert
as
if inserted.pod_itmnbr='aaa'
begin
insert into temp02(pod_ponbr,itm_itmnbr,rqu_num)values(select a.pod_ponbr,b.itm_itmnbr,
b.mlot*((a.num/b.mlot)+1) from inserted a left outer join itm_det b on a.pod_itmnbr=b.itm_itmnbr);
end


select * from pod_det
select * from itm_det
select * from temp02


消息 156,级别 15,状态 1,过程 sss,第 6 行
关键字 'select' 附近有语法错误。
消息 102,级别 15,状态 1,过程 sss,第 7 行
')' 附近有语法错误。
...全文
160 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2014-06-14
  • 打赏
  • 举报
回复
create trigger sss  on pod_det
for insert
as
if EXISTS(SELECT 1 FROM inserted WHERE pod_itmnbr='aaa' )
begin 
   insert into temp02(pod_ponbr,itm_itmnbr,rqu_num)
   SELECT   a.pod_ponbr
           ,b.itm_itmnbr
           ,b.mlot * ( ( a.num / b.mlot ) + 1 )
   FROM     inserted a
            LEFT OUTER JOIN itm_det b ON a.pod_itmnbr = b.itm_itmnbr
;
end
以学习为目的 2014-06-14
  • 打赏
  • 举报
回复
主要是你插入语句写错了

create trigger sss  on pod_det
for insert
as
if inserted.pod_itmnbr='aaa' 
begin 
      insert into temp02(pod_ponbr,itm_itmnbr,rqu_num)
                      select a.pod_ponbr,b.itm_itmnbr,b.mlot*((a.num/b.mlot)+1)
                                    from inserted a left outer join itm_det b on a.pod_itmnbr=b.itm_itmnbr
end
以学习为目的 2014-06-14
  • 打赏
  • 举报
回复
create trigger sss  on pod_det
for insert
as 
insert into temp02(pod_ponbr,itm_itmnbr,rqu_num)
select a.pod_ponbr,b.itm_itmnbr,
b.mlot*((a.num/b.mlot)+1) from inserted a left outer join itm_det b on a.pod_itmnbr=b.itm_itmnbr
WHERE inserted.pod_itmnbr='aaa'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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