CREATE TABLE [schema].[table] (
[column1] int IDENTITY NOT NULL,
[column2] int NULL,
[column3] int NULL,
PRIMARY KEY CLUSTERED ([column1])
);
INSERT INTO schema.table (column2,column3) VALUES (1,1);
SELECT scope_identity();
它插入两个相同的行,并返回第二个插入行的主键。
这可能是一个非常基本的原因,但谷歌不是我的朋友。
答案 0 :(得分:5)
请逐字复制并粘贴
SET NOCOUNT ON;
USE tempdb;
CREATE TABLE dbo.[table] (
[column1] int IDENTITY NOT NULL,
[column2] int NULL,
[column3] int NULL,
PRIMARY KEY CLUSTERED ([column1])
);
INSERT INTO dbo.[table] (column2,column3) VALUES (1,1);
SELECT scope_identity();
SELECT * FROM dbo.[table]
你应该
---------------------------------------
1
column1 column2 column3
----------- ----------- -----------
1 1 1
如果有疑问,请始终在tempdb中尝试一个干净的新表。
其他说明:
使用TSQL查找针对表的触发器
select name, OBJECT_NAME(parent_object_id)
from sys.objects
where type='TR'
and OBJECT_NAME(parent_object_id) = 'table' -- or whatever the table name is
使用TSQL
查看触发器(或任何模块)的文本select definition
from sys.sql_modules
where object_id = object_id('tg_table') -- or whatever the trigger is named