这有效:
DECLARE @query as nvarchar(200);
SET @query = 'SELECT j.job FROM ' + '' + 'job as j';
EXEC sp_executesql @query
。但这不起作用(输出错误为 Incorrect syntax near the keyword 'as', pointing to the first line
(:
DECLARE @query as nvarchar(200);
SET @query = 'SELECT j.job FROM' + '' + 'job as j'; -- removed the white space after the word FROM
EXEC sp_executesql @query
这是为什么呢?
因为您需要在job
之前from
之后有一个空格。
select 'SELECT j.job FROM ' + '' + 'job as j';
返回: SELECT j.job FROM job as j
select 'SELECT j.job FROM' + '' + 'job as j';
返回: SELECT j.job FROMjob as j