动态sql与变量绑定

    有时候动态sql需要进行变量的赋值,这个时候就需要调用系统的存储过程sp_executesql了。使用中还是有些注意事项,代码如下:

--字符型字段需声明为NVARCHAR类型
DECLARE @STRSQL NVARCHAR(1000),@VALUE_STR NVARCHAR(254)
--动态SQL拼接
SET @STRSQL='SELECT @VALUE_STR=ISNULL(VALUE_STR,'''') FROM [Mast'+'ADMIN'+'@Prop_Fld] WHERE FORM_NAME=''INVHAFORM'' AND PROP_NAME=''PEROUTQTY'''
--测试SQL拼接结果
PRINT @STRSQL
--N'@VALUE_STR NVARCHAR(254) OUTPUT'为动态SQL中变量的声明,@VALUE_STR OUTPUT为接收变量,注意都需带上OUTPUT参数。
EXEC SP_EXECUTESQL @STRSQL,N'@VALUE_STR NVARCHAR(254) OUTPUT',@VALUE_STR OUTPUT
--测试变量结果
PRINT @VALUE_STR

    执行结果如下:

    

猜你喜欢

转载自www.cnblogs.com/atomy/p/11062088.html