繁体   English   中英

动态Sql错误中的多个列

[英]Multiple Columns in Dynamic Sql Error

当我这样做

declare @cmd nvarchar(50)
set @cmd ='SELECT category_id FROM tbl_BHMCategoryMaster '
exec(@cmd)

查询正确执行。

但是当我这样做的时候

declare @cmd nvarchar(50)
set @cmd ='SELECT [category_id],[category_name],[Basic],[Dimension],[In_Out],[ProfileHand],[Glass],[Hinge],[Edgeband]  FROM [tbl_BHMCategoryMaster] ' 
exec(@cmd)

我得到这个错误,我不知道我做错了什么

消息105,第15级,状态1,第1行
字符串'Dime'后面的未闭合引号。
Msg 102,Level 15,State 1,Line 1
'Dime'附近的语法不正确。

但是,当我尝试这个时

 exec('SELECT [category_id],[category_name],[Basic],[Dimension],[In_Out],[ProfileHand],[Glass],[Hinge],[Edgeband]  FROM [tbl_BHMCategoryMaster]')

它运作正常。

可能有很多替代方案,但我想详细了解问题,以便下次我不会面对它。 如果有人可以点亮它会有很大的帮助。 谢谢 :)

你没有声明@cmd足够长。 尝试这个:

declare @cmd nvarchar(max);
set @cmd = N'SELECT [category_id],[category_name],[Basic],[Dimension],[In_Out],[ProfileHand],[Glass],[Hinge],[Edgeband]  FROM [tbl_BHMCategoryMaster] ' ;
exec(@cmd);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM