Sql server 从存储过程返回结果集
假设我为存储过程做了必要的声明,然后开始存储过程Sql server 从存储过程返回结果集,sql-server,stored-procedures,Sql Server,Stored Procedures,假设我为存储过程做了必要的声明,然后开始存储过程 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_AM
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;
将代码的最后两行更改为以下一行:
EXEC --HERE I CALL MY STORED PROCESURE with parameters IE: spinterest ..., ...., ...
我不知道您的参数是什么样子的,但是,您说过它们已经设置好了。亲爱的Michael,您不明白我想问的问题。当我使用临时表并从中选择时,我会得到一个结果集。但我不想使用temp table,但我想直接从过程中获取结果集,但使用while循环和select inside,我获取结果,但单独指的是逐行,而不是在一个结果集中。如何在不使用declare temp table部分的情况下从sp获取结果集?提前感谢。@modestandcutegirl:simple:不要使用while循环(这是非常糟糕的RBAR行处理,应该不惜一切代价避免)和临时表-只需创建一个
SELECT
,返回您感兴趣的数据……在我的情况下,我将如何实现它:(我的意思是,我在我的程序中使用了while,这不是一个问题,但它是一个连续的句子。请改写。