我有一段代码:
DECLARE @v int;  
DECLARE @SQLString nvarchar(500);  
DECLARE @ParmDefinition nvarchar(500);  
DECLARE @max_title varchar(30);  
SET @IntVariable = 197;  
SET @SQLString = N'SELECT @max_titleOUT = max(JobTitle)   
   FROM some_table 
   WHERE name = @level';  
SET @ParmDefinition = N'@level tinyint, @max_titleOUT varchar(30) OUTPUT';  
EXECUTE sp_executesql @SQLString, @ParmDefinition, @level = @v, @max_titleOUT=@max_title OUTPUT;  
SELECT @max_title;  我对这一行有点困惑:
       WHERE name = @level';如果@v是一个字符串而不是int变量,我应该像这样用引号将@level括起来吗?
       WHERE name = ''@level''';什么时候应该用引号将@SQLString中的变量括起来
发布于 2017-05-27 15:43:45
不,@level和@v是变量。你不应该到处放引号。
什么时候应该在@SQLString内的变量两边加引号?
无处可去
https://stackoverflow.com/questions/44214292
复制相似问题