解决方案 »

  1.   

    参数映射那里错了
    declare @return_value,
                   @Monitor_Year int
    exec @return_value= 存储过程名 @Monitor_Year
    select @return_value参数映射那里Monitor_Year的方向是输入,类型是integer
    如果Monitor_Year为可选参数,你可以在存储过程里面给定一个默认值(比如-1),然后在下面判断,如果 != -1就是传入参数
      

  2.   

    USE [WSS_Content_SHDZS_CIQTemp]
    GO
    DECLARE @return_value int,
     @Monitor_Year int
    EXEC @return_value = [dbo].[First02GoodsSapmleSort] @Monitor_Year
    SELECT 'Return Value' = @return_valueGO????吗
    integer没有这个类型啊?
    这样没有所谓问号了?
      

  3.   

    你确定??是需要拼接到SQL语句里去的?
    我怎么记得?是VS里的语法
      

  4.   

    select Year from 
     [WSS_Content_SHDZS_CIQTemp].[dbo].R_Monitor_Year where GETDATE()>=FromDate and GETDATE()<ToDate
    给year赋值是这句;
    这里没有拼接SQL语句,也没用VS,就是想SSIS中的变量的值传给带输入参数存储过程的输入参数
      

  5.   

    DECLARE @return_value int,
                            @Monitor_Year int
    SET @Monitor_Year = (select top 1 Year from 
     [WSS_Content_SHDZS_CIQTemp].[dbo].R_Monitor_Year where GETDATE()>=FromDate and GETDATE()<ToDate)
    exec @return_value= 存储过程名 @Monitor_Year如果year不是int类型的,可以cast转一下,用top 1是保证取到的值唯一
    SET也可以换成select,但是,当没有查询到记录时是不一样的
      

  6.   

    @Monitor_Year int
     EXEC @return_value = [dbo].[First02GoodsSapmleSort] ?