触发器

好帅的一条鱼 2011-12-23 03:36:56
ALTER trigger [转移单单身工单单号的控制] on [dbo].[SFCTC] 
for insert,update
as
declare @order nvarchar(500)
select @order=isnull(@order+',','')+TA002 from MOCTA,inserted
where MOCTA.TA001 = inserted.TC004 and MOCTA.TA006=inserted.TC047
and MOCTA.TA011 in ('2','3') and inserted.TC005 >MOCTA.TA002
set @order='还有比这个更早日期的工单,请按日期先后来转移,工单号码为:'+@order
begin

if exists(select 1 from MOCTA,inserted where MOCTA.TA001 = inserted.TC004
and MOCTA.TA006=inserted.TC047
and inserted.TC005 >MOCTA.TA002 and MOCTA.TA011 in ('2','3'))
begin

raiserror(@order,16,1)
rollback transaction
return
end

end

这个功能可以实现,但是当我的单据有 多笔记录的时候,就是TC047(料号)相同,但是工单单号不一样,比如第一笔单号为001,第二笔单号为002 保存的时候就会提示 还有更早的单号001,怎么能有效克服这个问题呢?
...全文
129 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jmx123456789 2011-12-26
  • 打赏
  • 举报
回复
表结构? 看了问题还是很模糊
苦苦的潜行者 2011-12-26
  • 打赏
  • 举报
回复
我想知道整个数据流程..
dawugui 2011-12-25
  • 打赏
  • 举报
回复

建议你提供详细的资料:
例如表的结构,表之间的关系,测试数据,相关算法及需要的结果。
这样有助于我们理解你的意思,更主要的是能尽快让你获得答案或解决问题的方法。

34,590

社区成员

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

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