zoukankan      html  css  js  c++  java
  • 执行动态sql返回参数

    ref: https://support.microsoft.com/en-us/kb/262499

    DECLARE @SQLString NVARCHAR(500)
    DECLARE @ParmDefinition NVARCHAR(500)
    DECLARE @IntVariable INT
    DECLARE @Lastlname varchar(30)
    SET @SQLString = N'SELECT @LastlnameOUT = max(lname)
                       FROM pubs.dbo.employee WHERE job_lvl = @level'
    SET @ParmDefinition = N'@level tinyint,
                            @LastlnameOUT varchar(30) OUTPUT'
    SET @IntVariable = 35
    EXECUTE sp_executesql
        @SQLString,
        @ParmDefinition,
        @level = @IntVariable,
        @LastlnameOUT=@Lastlname OUTPUT
    SELECT @Lastlname
    
    -------------------------------------------------------------
    
    CREATE PROCEDURE Myproc
        @parm nvarchar(10),
        @parm1OUT nvarchar(30) OUTPUT,
        @parm2OUT nvarchar(30) OUTPUT
    AS
        SELECT @parm1OUT=N'参数1parm 1' + @parm
        SELECT @parm2OUT=N'参数2parm 2' + @parm
    GO
    
    DECLARE @SQLString NVARCHAR(500)
    DECLARE @ParmDefinition NVARCHAR(500)
    DECLARE @parmIN nvarchar(10)
    DECLARE @parmRET1 nvarchar(30)
    DECLARE @parmRET2 nvarchar(30)
    SET @parmIN=' returned'
    SET @SQLString=N'EXEC Myproc @parm,
                                 @parm1OUT OUTPUT, @parm2OUT OUTPUT'
    SET @ParmDefinition=N'@parm nvarchar(10),
                          @parm1OUT nvarchar(30) OUTPUT,
                          @parm2OUT nvarchar(30) OUTPUT'
    /*
    EXECUTE sp_executesql
        @SQLString,
        @ParmDefinition,
        @parm1OUT=@parmRET1 OUTPUT,@parm2OUT=@parmRET2 OUTPUT,
        @parm=@parmIN  
    */
    --可以不指定参数名,但位置要正确
    EXECUTE sp_executesql
        @SQLString,
        @ParmDefinition,
        @parmIN,  @parmRET1 OUTPUT, @parmRET2 OUTPUT
    SELECT @parmRET1 AS "parameter 1", @parmRET2 AS "parameter 2"
    GO
    
    drop procedure Myproc
  • 相关阅读:
    实验一框架选择及其分析
    站立会议(一)
    关于有多少个1的计算
    寻找水王问题
    如何买到更便宜的书
    NABCD
    二维数组首尾相连求最大子矩阵
    环数组求最大子数组的和
    二维数组求最大矩阵
    关于铁道大学基础教学楼电梯调查
  • 原文地址:https://www.cnblogs.com/wucg/p/5916413.html
Copyright © 2011-2022 走看看