zoukankan      html  css  js  c++  java
  • sp_executesql动态执行sql语句并将结果赋值给一变量

    需求场景:

    需动态拼接sql语句进行执行,并将执行的结果赋值给一指定变量。

    样例代码如下:

    SELECT  @tableName = TAB_NAME  FROM  dbo.NMR_BLYWBDY WHERE  BLID =@bldm AND TAB_TYPE='0'
    
    SELECT @sql= 'SELECT DISTINCT top 1 @a= KBLMINXH FROM '+@tableName+' WHERE PAGENO=(SELECT MAX(PAGENO) FROM '+@tableName+')'
    
    EXEC sp_executesql @sql,N'@a varchar(9) output',@kblminxh OUTPUT
    

     注意:声明kblminxh等输出参数时应当为ntext,nvarchar,nchar类型,否则会报这个错过程需要参数'@statement' 'ntext/nchar/nvarchar' 类型。

     说明:@sql里的@a是作为输出参数的,@a又把值赋值给@kblminxh,感觉像是动态传递变量值。sp_executesql是比较快。

    注sp_executesql是2005引入的系统函数,自行查询其好处。
  • 相关阅读:
    Go map 切片
    Go map 增删改查和遍历
    Go map 基本使用
    Go 二维数组
    Go 切片
    Go 数组
    Go 错误处理 defer recover panic
    Go time模块
    5分钟入门MP4文件格式
    写盘工具
  • 原文地址:https://www.cnblogs.com/24la/p/sp_executesql.html
Copyright © 2011-2022 走看看