首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >触发器需要在select中使用插入的记录列

触发器需要在select中使用插入的记录列
EN

Stack Overflow用户
提问于 2011-08-22 21:41:34
回答 1查看 143关注 0票数 0

我们有一个发货表,它有一个orderID (oid)、一个发票号(ino)和一个序号列。我正在尝试编写一个触发器,如果存在唯一的一组oid,ino,seq,则将序列号设置为零或递增。我不确定如何引用插入记录的OID和INO列?

这是我到目前为止所得到的:

代码语言:javascript
运行
复制
CREATE TRIGGER SHPVIAb_insert ON [acsdcs2].[dbo].[SHPVIAb]
FOR INSERT
AS
DECLARE @newseq tinyint;
SET @newseq = 0;
IF EXISTS (SELECT *
           FROM [acsdcs2].[dbo].[SHPVIAb] s 
           WHERE s.SHVOID_AN = inserted.SHVOID_AN
             AND s.SHVINO_AN = inserted.SHVINO_AN
          )
  BEGIN
    SET @newseq = (SELECT MAX(SHVSEQ_US)
           FROM [acsdcs2].[dbo].[SHPVIAb] s 
           WHERE s.SHVOID_AN = inserted.SHVOID_AN
             AND s.SHVINO_AN = inserted.SHVINO_AN)
    SET @newseq = @newseq + 1
  END

update [acsdcs2].[dbo].[SHPVIAb]
   set SHVSEQ_US=@newseq;
EN

回答 1

Stack Overflow用户

发布于 2011-08-23 22:40:21

我认为像这样的东西更接近你想要的。您希望联接到插入的表,并处理一次插入多条记录的情况。

代码语言:javascript
运行
复制
CREATE TRIGGER SHPVIAb_insert ON [acsdcs2].[dbo].[SHPVIAb]
    FOR INSERT
AS
BEGIN
    IF EXISTS ( SELECT  1
                FROM    [acsdcs2].[dbo].[SHPVIAb] s
                        INNER JOIN INSERTED i ON s.SHVOID_AN = i.SHVOID_AN
                                                 AND s.SHVINO_AN = i.SHVINO_AN ) 
        BEGIN
            UPDATE  s
            SET     SHVSEQ_US = ( SELECT    MAX(SHVSEQ_US)
                                  FROM      [acsdcs2].[dbo].[SHPVIAb] ss
                                  WHERE     ss.SHVOID_AN = s.SHVOID_AN
                                            AND ss.SHVINO_AN = s.SHVINO_AN
                                ) + 1
            FROM    [acsdcs2].[dbo].[SHPVIAb] s
                    INNER JOIN INSERTED i ON s.SHVOID_AN = i.SHVOID_AN
                                             AND s.SHVINO_AN = i.SHVINO_AN 
        END
END        
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7148377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档