SQL Server 2008 中的简单触发器
谁能告诉我当记录插入数据库时如何更新记录的列。 这是我想要的伪代码。
if( mytable.OriginalId == null )
mytable.OriginalId = Scope_Identity();
Can anybody tell me how can I update a column of a record when it is inserted to the database.
Here's the pseudocode that I want.
if( mytable.OriginalId == null )
mytable.OriginalId = Scope_Identity();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为这会是矛盾的。 OriginalId 要么已设置,要么未在插入时设置。
如果不是,
Scope_Identity()
从哪里获取它的值?如果它来自另一列,那么使用计算列不是更好吗?抱歉,目前尚不清楚总体目标是什么...您通常不会使用触发器,特别是如果 OriginalId 是 PK 的一部分
This would be contradictory I think. Either OriginalId is set or it isn't on insert.
If it isn't where does
Scope_Identity()
get it's value from? If it's from another column then would it not be better to use a computed column?Sorry, it's not clear what the overall objective is... you would not normally use a trigger especially if OriginalId is part of the PK