0

ストアド プロシージャに必要な宣言を行い、ストアド プロシージャを開始するとします。

BEGIN

IF (@TYPE = 0)  
    BEGIN
        SELECT @AMOUNT = ((@TOTAL_MONEY )/(12))
        SELECT @INTEREST_AMOUNT = 0           
        SELECT @TOTAL_MONEY AS TOTAL_MONEY , @AMOUNT AS AMOUNT , @INTEREST_AMOUNT AS INTEREST_AMOUNT , DATEADD(m,0,@BEGIN_DATE) AS DATE_

        @ORDER_NO=1 
        WHILE ((@ORDER_NO) <= ((@COUNT) -1 ) )  
            BEGIN   
                SELECT @INTEREST_AMOUNT =  (@TOTAL_MONEY - (@AMOUNT))* (@INTEREST_RATE/100)
                SELECT @MONEY AS MONEY_ , @AMOUNT AS PROMISE_AMOUNT , @INTEREST_AMOUNT AS INTEREST_AMOUNT , DATEADD(m,@COUNT,@BEGIN_DATE) AS DATE_
                SELECT @COUNT=@COUNT -1
            END                     
    END 
 END

質問: 結果セットを有効にしたいのですが、このプロシージャは行ごとに有効にするため、一時テーブルを作成して以下のように選択しますが、一時テーブルを使用したくなく、ストアド プロシージャから結果セットを返すだけです

DECLARE @TEMP TABLE
(

    TOTAL_MONEY decimal (19,3), 
    AMOUNT decimal (19,3), 
    INTEREST_AMOUNT decimal (19,3), 
    DATE_ date          

);
INSERT @TEMP  EXEC --HERE I CALL MY STORED PROCESURE with parameters IE: spinterest ..., ...., ...
SELECT * FROM @TEMP;
4

1 に答える 1

0

コードの最後の 2 行を次の 1 行に変更します。

EXEC --HERE I CALL MY STORED PROCESURE with parameters IE: spinterest ..., ...., ...

パラメータがどのように見えるかはわかりませんが、すでに設定されていると言っていました。

于 2013-04-24T12:10:06.127 に答える