zoukankan      html  css  js  c++  java
  • sqlserver 动态sql执行execute和sp_executesql,用动态SQL语句给变量赋值

    sp_executesql的运用 
      书写语法要点: 
      exec sp_executesql @sql,N’参数1 类型1,参数2 类型2,参数3 类型3 OUTPUT’,参数1,参数2,参数3 OUTPUT; 
      注意参数前后顺序必须对应好 如下图不同颜色的标记 
     

    简易测试代码:

    declare @FSQL nVARCHAR(1000),@FF VARCHAR(100)
     SET @FSQL='SELECT @FF=''AA'' '
    
     PRINT @FSQL
     exec sp_executesql @FSQL,N'@FF VARCHAR(100) OUT',@FF OUT
     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
  • 相关阅读:
    优化总结文章链接
    帧同步、状态同步
    ecs
    AStarPathFinding
    unity 热更方案对比
    C#数据类型
    JavaScript基础
    CSS中margin和padding的区别
    css选择器
    hadoop中使用shell判断HDFS文件是否存在
  • 原文地址:https://www.cnblogs.com/Bokeyan/p/13304627.html
Copyright © 2011-2022 走看看