【SQL】执行Proc时出现的问题

先看错误代码的演示:

declare @id int
declare @content nvarchar(2000) 
set @id = 1
EXEC [dbo].[rows_to_column]
    @search_sql = N'select fee_id from PAY where id = Convert(nvarchar,' + @id + ')',
    @column_name = N'fee_id',
    @content = @content OUTPUT

上述代码运行后提示的错误

 Incorrect syntax near '+'.

修改方法:

可以直接定义变量@whereSql

set @whereSql = 'select fee_id from PAY where id = ' + Convert(nvarchar,@id) 
EXEC [dbo].[rows_to_column]
    @search_sql = @whereSql, 
    @column_name = N'fee_id', 
    @content = @content OUTPUT

 

posted @ 2021-06-01 12:22  狼窝窝  阅读(190)  评论(0)    收藏  举报