Tsql Msg 207,级别16,状态1,对齐1无效列名';TRF3110WJS';
我已经创建了一个触发器,可以在更新后将对象(笔记本电脑、PC、打印机等)的状态更改为booked 脚本使用动态sql(环境为sql Server 2008 R2): 当我触发此脚本抛出MASTER4表的更新时,出现以下错误: 消息207,16级,状态1,第1行Tsql Msg 207,级别16,状态1,对齐1无效列名';TRF3110WJS';,tsql,sql-server-2008-r2,Tsql,Sql Server 2008 R2,我已经创建了一个触发器,可以在更新后将对象(笔记本电脑、PC、打印机等)的状态更改为booked 脚本使用动态sql(环境为sql Server 2008 R2): 当我触发此脚本抛出MASTER4表的更新时,出现以下错误: 消息207,16级,状态1,第1行 列的名称无效:“TRF3110WJS” 即使值“TRF3110WJS”不是列名,它也是一个列值 有什么支持的想法吗 注意:如果我认为表的名称是静态的而不是动态的,那么脚本工作得很好。问题在于创建更动态SQL的动态SQL SET @SQL
列的名称无效:“TRF3110WJS” 即使值“TRF3110WJS”不是列名,它也是一个列值 有什么支持的想法吗
注意:如果我认为表的名称是静态的而不是动态的,那么脚本工作得很好。问题在于创建更动态SQL的动态SQL
SET @SQL = @SQL + N'SET @sql= @sql + N''WHERE Num__UGLJ_ro__bde__bs__UGLJ_rie ='' + CAST(@variable as varchar(128)) + '' and STATUS = '''''' + @stock_status + '''''''' + @CRLF' +@CRLF
SET @SQL = @SQL + N'SET @sql= @sql + N''WHERE Num__UGLJ_ro__bde__bs__UGLJ_rie ='''''' + CAST(@variable as varchar(128)) + '''''' and STATUS = '''''' + @stock_status + '''''''' + @CRLF' +@CRLF
你需要更多的报价
CAST(@variable as varchar(128))
一点
我想这个应该可以
SET @SQL = @SQL + N'SET @sql= @sql + N''WHERE Num__UGLJ_ro__bde__bs__UGLJ_rie ='''''' + CAST(@variable as varchar(128)) + '''''' and STATUS = '''''' + @stock_status + '''''''' + @CRLF' +@CRLF