当我这样做时
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)
我收到此错误,我不知道我做错了什么
Msg 105,Level 15,State 1,Line 1
字符串'Dime'后面的未闭合引号。
消息102,级别15,状态1,行1 'Dime'附近的语法不正确。
但是当我尝试这个时再次
exec('SELECT [category_id],[category_name],[Basic],[Dimension],[In_Out],[ProfileHand],[Glass],[Hinge],[Edgeband] FROM [tbl_BHMCategoryMaster]')
它运作正常。
可能有很多替代方案,但我想详细了解问题,以便下次不要面对。如果有人可以点亮它会有很大的帮助。谢谢:))
答案 0 :(得分:2)
您尚未声明@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);