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

 我来答
小夜爱小羽88
2013-08-25 · TA获得超过188个赞
知道答主
回答量:130
采纳率:75%
帮助的人:65.1万
展开全部
在一个问题中遇到的一段精典动态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

提交
取消

辅 助

模 式