我有一段代码:
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
?
答案 0 :(得分:2)
不,@level
和@v
是变量。你不应该引用引号。
我应该何时在@SQLString中的变量周围加上引号?
无处