我正在尝试在而不是插入触发器中执行身份插入,但是当我尝试将数据插入数据时,它会抛出错误消息“消息 544,级别 16,状态 1,第 36 行无法插入身份的显式值IDENTITY_INSERT 设置为 OFF 时表 'PixTest' 中的列。”。
我正在使用安装在 Windows 8 64 位上的 SQL SERVER 2014 Developer Edition 64 位。
以下是一些可能有帮助的示例代码:
CREATE TABLE PixTest
(
ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
TESTE VARCHAR(10)
)
GO
CREATE TRIGGER AutoIncrement_Trigger ON PixTest
instead OF INSERT AS
BEGIN
DECLARE @ID INT;
SELECT @ID=ID FROM inserted;
IF COALESCE(@ID,0)<> 0
BEGIN
SET IDENTITY_INSERT PixTest ON
INSERT INTO PixTest(ID, TESTE)
SELECT ID,TESTE FROM inserted
SET IDENTITY_INSERT PixTest off
END
ELSE
INSERT INTO …Run Code Online (Sandbox Code Playgroud) t-sql ×1