度量快速开发平台-专业、快速的软件定制快开平台
标题:
SqlServer中,用exec处理sql字符串中含有变量,提示:必须声明标量变量的处理
[打印本页]
作者:
王爱东
时间:
2020-3-27 14:40
标题:
SqlServer中,用exec处理sql字符串中含有变量,提示:必须声明标量变量的处理
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
作者:
王爱东
时间:
2020-3-27 19:22
sqlserver与oracle在写存储过程上还是有较大差异。大家要多学习了解。
作者:
张军勇
时间:
2020-3-27 23:53
确实有些差异。
作者:
万望
时间:
2020-3-28 03:23
受教了,多谢LZ
作者:
万望
时间:
2020-3-28 03:23
受教了,多谢LZ
作者:
张兴康
时间:
2020-3-28 17:30
了解了
作者:
王爱东
时间:
2020-3-29 10:59
在sqlserver中写存储过程及函数等,这类用法就很多。
欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/)
Powered by Discuz! X3.2