Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 设置标识\u在我的参数中插入它不起作用_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql 设置标识\u在我的参数中插入它不起作用

Sql 设置标识\u在我的参数中插入它不起作用,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我试图将值插入到具有标识的表中,我知道在插入之前必须使用:SET identity\u insert 我所执行的: DECLARE @TABLE_NAME NVARCHAR(200), @QUERY NVARCHAR(500) SET @TABLE_NAME = 'devListaTrabajo' SET @QUERY = 'SET IDENTITY_INSERT ' + @TABLE_NAME + ' ON' PRINT @QUERY EXEC (@QUERY) INSERT I

我试图将值插入到具有标识的表中,我知道在插入之前必须使用:
SET identity\u insert

我所执行的:

DECLARE @TABLE_NAME NVARCHAR(200), @QUERY NVARCHAR(500)
SET @TABLE_NAME = 'devListaTrabajo'
SET @QUERY = 'SET IDENTITY_INSERT ' + @TABLE_NAME  + ' ON'
PRINT @QUERY 
EXEC (@QUERY)

    INSERT INTO devListaTrabajo
        (lisId,lisDescripcion,lisEstado,topId,parCLS,parcod)
    VALUES (1,'H',1,1,'H','LH')
我的结果是:

SET IDENTITY_INSERT devListaTrabajo ON
Msg 544, Level 16, State 1, Line 79
Cannot insert explicit value for identity column in table 'devListaTrabajo' when IDENTITY_INSERT is set to OFF.

如果您问我为什么不在没有query inside参数的情况下使用normal语句,那是因为我计划执行一个表更改周期,并且我打算使用
SET IDENTITY\u INSERT


也许我为了使用这个语句跳过了一些SQL规则。请给出解释或其他解决方法。

EXEC()命令的内容在与代码其余部分不同的上下文中运行。该上下文运行、完成并返回到从未更改标识插入的原始上下文


如果希望这样动态地执行此操作,则必须将整个语句放入
@QUERY
变量。

EXEC()命令的内容在与其余代码不同的上下文中运行。该上下文运行、完成并返回到从未更改标识插入的原始上下文


如果您想这样动态地执行此操作,则必须将整个语句放入
@QUERY
变量中。

另请参见,我已经在查询中包含了insert,它运行得非常好,谢谢!同样非常好,我已经在查询中包含了insert,它运行得非常完美,谢谢!