首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在sql server2008中编写触发器?

如何在sql server2008中编写触发器?
EN

Stack Overflow用户
提问于 2011-10-13 18:33:28
回答 2查看 585关注 0票数 0

在sqlserver2008中,我写了这样的触发器,但我有点怀疑它是错误的,你能检查一次吗?

代码语言:javascript
运行
复制
ALTER trigger [dbo].[UST_RollPlan_History_Trigger]
           on [dbo].[Tbl_F_Roll_PlanDetails_T] for INSERT as
    insert into Tbl_F_Roll_PlanDetails_H
                (rollingplanid, productcode, rollplanmonthyear,
                 rollplanyear,  candflocation, quantity, amendedqty,
                 createdby, createdon, sessionid, status)
    select       rollingplanid, productcode,rollplanmonthyear,
                 rollplanyear, candflocation,quantity,amendedqty,
                 createdby, createdon, sessionid, status
    from         Tbl_F_Roll_PlanDetails_T
EN

Stack Overflow用户

回答已采纳

发布于 2011-10-13 18:48:06

在触发器中,您通常希望引用包含受操作影响的行的inserted (和/或deleted)伪表。我希望你能这么做:

代码语言:javascript
运行
复制
ALTER trigger [dbo].[UST_RollPlan_History_Trigger]
           on [dbo].[Tbl_F_Roll_PlanDetails_T] for INSERT as
    insert into Tbl_F_Roll_PlanDetails_H
                (rollingplanid, productcode, rollplanmonthyear,
                 rollplanyear,  candflocation, quantity, amendedqty,
                 createdby, createdon, sessionid, status)
    select       rollingplanid, productcode,rollplanmonthyear,
                 rollplanyear, candflocation,quantity,amendedqty,
                 createdby, createdon, sessionid, status
    from         inserted

它会将刚刚插入Tbl_F_Roll_PlanDetails_T的行插入到Tbl_F_Roll_PlanDetails_H表中。(顺便说一下,SQL中的前缀名称通常是没有意义的,因为可以出现在任何特定上下文中的对象类型要么是a]已经限制为单一类型的对象,要么是b]无论如何都不需要区分)

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7752829

复制
相关文章

相似问题

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