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/

  • 相关阅读:
    ios获取iphone手机设备型号
    iOS项目中所有icon的尺寸以及命名
    c++达内视频
    ffmpeg教程
    FFMPEG SDK 教程
    minicom 下载
    线程同步的几种方法的总结
    多线程笔试面试概念问答
    buntu Rhythmbox解决中文乱码
    菜鸟学习ios
  • 原文地址:https://www.cnblogs.com/wangfuyou/p/5783711.html
Copyright © 2011-2022 走看看