zoukankan      html  css  js  c++  java
  • sqlserver中sp_executesql使用实例(获取动态sql输出结果)

    语法

    sp_executesql [ @stmt = ] stmt  [       {, [@params=] N'@parameter_name data_type [ [ OUT [ PUT ][,...n]' }        {, [ @param1 = ] 'value1' [ ,...n ] }  ]
    用法实例

    1、获取一个输出结果
    使用output获取输出结果的值
    declare @num int, 
    @sqls nvarchar(4000) 
    set @sqls='select @a=count(*) from customer '
    exec sp_executesql @sqls,N'@a int output',@num output 
    select @num
    2、两个输出结果
    declare @num int, @sqls nvarchar(4000) ,@sname char(10)
    set @sqls='select @a=sno,@b=sname from aa '
    exec sp_executesql @sqls,N'@a int output,@b char(10) output',@num output,@sname output
     select @num
    select @sname
    3、输入参数
    DECLARE @TableName VARCHAR(50),@sql NVARCHAR(MAX),@OID INT;
      SET @TableName = 'aa ';
       SET @OID = 1;
      SET @sql = 'SELECT * FROM '+QUOTENAME(@TableName) + ' WHERE sno ='+ cast(@OID as char(10)) ;
    exec  sp_executesql        @sql
    对于输入参数也可以直接写到语句里面
    DECLARE @TableName VARCHAR(50),@sql NVARCHAR(MAX),@OID INT;
      SET @TableName = 'aa ';
       SET @OID = 1;
      SET @sql = 'SELECT * FROM '+QUOTENAME(@TableName) + ' WHERE sno =@oid'
    exec  sp_executesql     @stmt=   @sql,
          @params = N'@OID AS INT ',
         @OID = @OID
    DECLARE @TableName VARCHAR(50),@sql NVARCHAR(MAX),@OID INT;
      SET @TableName = 'aa ';
       SET @OID = 1;
      SET @sql = 'SELECT * FROM '+QUOTENAME(@TableName) + ' WHERE sno =@oid'
    exec  sp_executesql    @sql, N'@OID AS INT ', @OID

    转:http://blog.163.com/zangyunling@126/blog/static/16462450520113212357892/

  • 相关阅读:
    SharedPreferences介绍,用来做数据存储
    android中的回调简单认识
    git的使用
    Android Studio插件美化Android Studio,文艺清新范
    arp欺骗技术
    进程和线程的关系
    Win下常用命令大全
    JavaWeb系列之:Servlet
    JavaWeb系列之:监听器
    JavaWeb系列之:过滤器
  • 原文地址:https://www.cnblogs.com/wangfuyou/p/5783711.html
Copyright © 2011-2022 走看看