【发布时间】:2011-11-23 12:14:57
【问题描述】:
这是一个简单的例子。
我想在Table1 (Name, Age, Sex) 中插入数据。该表在插入数据时会自动增加serial#(int)。
我想在Table1 insert 上放置一个触发器,以便在插入数据后,它会从Table1 中提取serial#(int) 并将Serial# 和Name 放入Table2 和@987654329 @ 和 some other data 中的 Table3。
可以通过触发器实现吗?
或者,我应该从table1 中选择(最后一个)Serial 并通过手动增加它来调用其他表上的插入,在我曾经插入Table1 的同一SP 中?
哪种方法更好?
编辑 1:
假设表:
Serial | UID | Name | Age | Sex | DateTimeStamp
(int | uniqueidentifier | nvarchar | smallint | nchar | DateTime )
默认NewID() 和默认GetDate() 作为UID 和DateTimeStamp,INSERTED 表会在 DatetimeStamp 字段中具有 Datetime-Of-Insertion 吗?意思是,我最初没有输入任何 Serial、GUID 或 DatetimeStamp,它们会出现在 INSERTED 表中吗?
编辑2:
你能给我指点关于触发器的好书/文章吗?我读了mastering SQL server 2005,并没有从中得到太多。谢谢!
【问题讨论】:
-
YES - 您的
INSERTED表将具有这些值!
标签: sql sql-server sql-server-2008 triggers