如何用动态SQL语句给变量赋值

 我来答
手机用户33933
推荐于2016-09-10 · TA获得超过106个赞
知道答主
回答量:108
采纳率:0%
帮助的人:147万
展开全部
在一个问题中遇到的一段精典动态SQL代码:declare @fdate datetime
declare @sql0 nvarchar(4000)
declare @banzhi varchar(4),@num varchar(4),@cur_id intset @cur_id=2497
set @sql0=' SELECT @banzhi=b'+
case when substring(convert(char(10),@fdate,120),9,1)=0 then substring(convert(char(10),@fdate,120),10,1)
else substring(convert(char(10),@fdate,120),9,2)
end+' FROM kq_paiban'+
' where empid='''+rtrim(convert(char,@cur_id))+''' and
sessionid=(select id from s_session where convert(varchar(7),date0,120)='''+substring(convert(char(10),@fdate,120),1,7)+''')'
select (@sql0)--显示动态构造的SQL语句
--在构造动态SQL语句字符串时,对其中动态部分(比如这里的列名B1,B2[Bi]后面变化的部分i)要先运算出来,还有其中的常量部分,最后将字符串连接成完整语句.exec sp_executesql @sql0,N'@banzhi varchar(4) output',@num output
--这里没有使用EXEC()函数,因为该存储过程支持嵌入参数.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式