在插入语句中将父字段设置为标识字段

时间:2014-05-08 23:48:09

标签: sql sql-server

我有一张桌子

CREATE TABLE [dbo].[EventLog](
 [RID] [int] IDENTITY(1,1) NOT NULL,
 [ParentRID] [int] NOT NULL,
 [ServerName] [varchar](100) NULL,

当我执行INSERT时,我希望ParentRID字段最初与RID相同。我不想在插入后单独执行UPDATE语句。在这种情况下,DEFAULT不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我不这么认为可以在插入中进行。请改用以下触发器 -

CREATE TRIGGER trig_yourid 
ON dbo.yourtablename 
after INSERT 
AS 
    UPDATE dbo.yourtablename                      
    SET    dbo.yourtablename.secondId = a.id -- Set the Parent ID to the value of Identity column
    FROM   dbo.yourtablename b 
           JOIN inserted a 
             ON a.id = b.id