当前位置:Gxlcms > 数据库问题 > sqlserver 动态sql执行execute和sp_executesql,用动态SQL语句给变量赋值

sqlserver 动态sql执行execute和sp_executesql,用动态SQL语句给变量赋值

时间:2021-07-01 10:21:17 帮助过:4人阅读

@FSQL nVARCHAR(1000),@FF VARCHAR(100) SET @FSQL=SELECT @FF=‘‘AA‘‘ PRINT @FSQL exec sp_executesql @FSQL,N@FF VARCHAR(100) OUT,@FF SELECT @FF

 

 

 

注意

1> @sql 必须为ntext/nchar/nvarchar类型

2> @sql的参数赋值语句的前面必须用"N",转换为Unicode字符串

--定义一个游标
declare zb_cur cursor for select zb_gl.zb_sql_gs from zb_gl<br>--@zb_sql为动态sql,过程需要类型为 ‘ntext/nchar/nvarchar‘ 的参数 ‘@statement‘。
declare @zb_sql nvarchar(2000)
declare @ymd varchar(20)
set @ymd=2019-1-1
--打开游标
open zb_cur 
while  0=0
begin
--读取游标
    fetch next from zb_cur into @zb_sql
    if @@FETCH_STATUS=0
      begin 
          print @zb_sql
          exec sp_executesql @zb_sql,N@ymd varchar(20),@ymd
      end
    else
      break
end
close zb_cur
--摧毁游标
deallocate zb_cur

 

sqlserver 动态sql执行execute和sp_executesql,用动态SQL语句给变量赋值

标签:测试   sel   tput   定义   stat   fetch   sele   dealloc   class   

人气教程排行