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

如题所述

在一个问题中遇到的一段精典动态SQL代码:declare @fdate datetimedeclare @sql0 nvarchar(4000)declare @banzhi varchar(4),@num varchar(4),@cur_id intset @cur_id=2497set @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))+''' andsessionid=(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()函数,因为该存储过程支持嵌入参数.
温馨提示:内容为网友见解,仅供参考
无其他回答

如何用SQL代码将动态查询结果赋值给变量?
1、首先最基本的赋值就是默认值了。2、然后还可以通过数据表查询给变量赋值,如下图所示的数据表。3、可以通过select语句直接给变量赋值。4、赋值以后可以输出一下看看结果。5、然后可以看到结果和数据表的值是一样的。6、最后比较常用的还有set方式赋值。

如何用动态SQL语句给变量赋值
select (@sql0)--显示动态构造的SQL语句 --在构造动态SQL语句字符串时,对其中动态部分(比如这里的列名B1,B2[Bi]后面变化的部分i)要先运算出来,还有其中的常量部分,最后将字符串连接成完整语句.exec sp_executesql @sql0,N'@banzhi varchar(4) output',@num output --这里没有使用EXE...

oracle存储过程中如何对一个变量累加赋值 最好有个例子
1、首先打开oracle数据库,如下图所示。2、在Oracle中,对于函数的变量赋值,通常有三种方法来进行处理,直接赋值的方法,可以在声明变量的时候直接给变量进行赋值。3、其次,可以使用SELECT语句对变量进行赋值,主要是SELECT INTO语句,如下代码示例,将变量v_minvar赋予Min(t.sal)的值。4、最后就是动...

Sql中如何给变量赋值
下面语句声明一个@ii_test的整型变量,然后给变量赋值,并在SQL查询中调用变量

sql server中如何为一个不确定的变量赋值
需要在动态语句内部定义该变量,而且这个变量不能再其他地方调用的;这是因为SQL在执行动态语句时,是临时生成执行计划的 declare @c int set @c=1 while @c<50 begin ecec('declare @l'+@c+' int set @l'+@c+' ='+@c +' print @l'+@c)set @c=@c+1 end ...

变量绑定SQL语句实现
在SQL编程中,变量绑定是将变量的值与SQL语句关联的重要步骤。首先,你需要在SQL环境下使用var关键字来声明一个变量,明确指定变量的名称和数据类型。例如:SQL> var i varchar2(10);接着,使用exec命令来给变量赋值,这里的赋值符号是":",用于将变量的值与SQL语句关联。例如:SQL> exec :i:='sql...

SQL触发器中怎么给变量赋值
在从inserted中获取并赋值时会出现值为NULL的情况\\x0d\\x0a\\x0d\\x0a--获取需要减少的商品的数量和商品的编号\\x0d\\x0a\\x0d\\x0aSELECT @Cnumber = Cnumber,@Cid = Cid FROM inserted\\x0d\\x0a--接下来的更新操作就是按照你原来的去更新就行了\\x0d\\x0a\\x0d\\x0a update ...

绑定变量SQL语句实现
在SQL编程中,变量的使用是常见的操作。首先,你需要通过var关键字来声明一个变量,明确指定变量的名称和数据类型。例如:SQL> var i varchar2(10);这里,我们声明了一个名为i的变量,其类型为可变长度的字符字符串,最多容纳10个字符。然后,你可以使用exec语句来给这个变量赋值。赋值操作使用=:符号...

怎么把 sql语句查询的值赋给变量
查询到的某个字段的当前值 赋给 单个变量:SELECT @变量 = 字段1 FROM 表1 WHERE 限制条件如果查询得到的是多条记录,你要转赋给别的表,那就要用到游标或临时表了。建议用临时表,容易理解一些:SELECT 字段1 INTO #临时表FROM 表1 WHERE 限制条件 ...

存储过程中动态执行sql
先定义变量:declare @cmdLine varchar(1000)将拼接好的sql语句赋值给变量: set @cmdLine='xxxx'然后执行 sql: exec(@cmdLine)

相似回答