SSIS- Set Multiple variables via a single SQL task

后端 未结 3 739
清歌不尽
清歌不尽 2021-02-09 07:14

I\'m trying to set multiple variables to the result of an SQL Query that returns a single row with multiple columns. The SQL statement is in the format of:

SELEC         


        
相关标签:
3条回答
  • 2021-02-09 07:28

    I found a solution to this by using mapping the result sets as a zero-based ordinal set. E.g. under 'Result Set' in the task properties:

    result name   |   variable name
    -------------------------------
         0        |       a
         1        |       b
         3        |       c
         4        |       d
    

    This method allows me to keep my SQL statement unaltered also.

    0 讨论(0)
  • 2021-02-09 07:34

    Create one stored procedure with four output parameters:

    CREATE SP_data(
      @x INT,
      @a int OUTPUT,
      @b int OUTPUT,
      @c int OUTPUT 
      @d int output
    )
    AS
      SELECT top 1 
        @a = a,
        @b= b, 
        @c  = x + y,
        @d= @d  
    FROM tablename
    WHERE Switch = @x
    

    in the Execute SQL Query in the parameter mapping tab create four output parameters

    the execute the proc

    EXEXCUT SP_data 1,? OUTPUT,? OUTPUT,? OUTPUT, ? OUTPUT
    
    0 讨论(0)
  • 2021-02-09 07:36

    In the SQL task, under General menu, set the ResultSet property to SingleRow.

    Then, in the ResultSet menu, add the variables in the order of your select clause and map the aliases with the variables. For exemple :

    SELECT 1 AS One, 2 AS Two
    

    enter image description here

    0 讨论(0)
提交回复
热议问题