Sak*_*o73 4 sql t-sql sql-server identity-column sql-server-2008-r2
有人问我是否有一个insert语句,它有一个ID字段是"identity"列,如果分配的值也可以插入到同一个记录中的另一个字段中,则在同一个insert语句中.
这可能吗(SQL Server 2008r2)?
谢谢.
你不能真的这样做 - 因为IDENTITY实际上只用于列的实际值是固定的,并在INSERT完成后设置.
但是,您可以使用例如触发器
CREATE TRIGGER trg_YourTableInsertID ON dbo.YourTable
AFTER INSERT
AS
UPDATE dbo.YourTable
SET dbo.YourTable.OtherID = i.ID
FROM dbo.YourTable t2
INNER JOIN INSERTED i ON i.ID = t2.ID
Run Code Online (Sandbox Code Playgroud)
这将在插入任何行后立即触发,并将OtherID列设置IDENTITY为插入行的列值.但严格来说,这不是在同一声明中 - 它只是在你的原始声明之后.