触发器多个判断

u010535898 2014-09-22 11:07:50
表 prdt
prd_no up_p up_s
620032 1.2 2.5
620045 3.6 4.2
651043 0.8 1.6
............................................
表 hj
hj_ps prd_no up


向表hj插入数据当hi_ps=p,hj.prd_no=prdt.prdt时 up大于对应的up_p 则rollback
向表hj插入数据当hi_ps=s,hj.prd_no=prdt.prdt时 up大于对应的up_s 则 rollback
请问这样的两个判断怎么写触发器
...全文
149 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaodongni 2014-09-23
  • 打赏
  • 举报
回复
--把prdt进行一个列转行就好判断。或者直接判断2次。分别对hj_ps=s or=p进行判断。必须都不存在才不提交


if  exists (select * from (select * from prdt unpivot 
( up for hj_ps in([up_p],[up_s])) as t) as a 
join inserted as b
on a.prd_no=b.prd_no and RIGHT(hj_ps,1)=b.hj_ps
and a.up<b.up)
rollback 

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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