为什么SQL没有找到我声明的变量

时间:2016-05-20 08:21:42

标签: sql-server sql-server-2008 tsql

我试图在本地声明的表中插入数据。该表有一个System.ComponentModel.DataAnnotations.EditableAttribute 主键,因此当我想插入一个具有特定主键的值时,我必须使用IDENTITY

但是SET IDENTITY_INSERT ON语句找不到我的本地表。

SET

但是我收到以下错误:

  

Msg 102,Level 15,State 1,Line 4
  ' @ testtable'附近的语法不正确。

小费:

  

&test;' @ testtable'附近的语法不正确。期待'。',ID或QUOTED_ID。

1 个答案:

答案 0 :(得分:2)

  

表变量不允许INSERT到标识列。

改为使用临时表:

CREATE TABLE  #testtable(
    [row_id] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY );

SET IDENTITY_INSERT #testtable ON;

INSERT INTO #testtable(row_id) VALUES (234);

LiveDemo