|
qlServer中,用exec处理sql字符串中含有变量,提示:必须声明标量变量。那是因为sqlserver处理方式与oracle不同。需要声明标量变量。使用如下:
- declare @tssj nvarchar(100) -- 外部变量
- declare @Sql_Sql nvarchar(100) -- 存sql字符串变量
-
- set @Sql_Sql =N'select @tssj=jpk from b where bzmc=''中国'''
-
- EXEC sp_executesql @Sql_Sql,N'@tssj int output',@tssj output
- select @tssj
另一个示例:
需要注意@sql_sql这个变量,需要定义成: nvarchar类型,不然也要报错
- set @Sql_Sql = N' select top 1 @m_zw=zw,@m_zh=temp from ket where zd=''ddd''
- EXEC sp_executesql @Sql_Sql,N'@m_zw varchar(1000) output,@m_zh int output',@m_zw output,@m_zh output
|
|