首页 > 解决方案 > 仅当存储过程中有值时如何显示结果集

问题描述

DECLARE @ONYX_ID INT

DECLARE cur CURSOR FOR 
    SELECT iIndividualID 
    FROM [ONYX_KAPLAN].[dbo].[Individual]
    WHERE iIndividualID  <= 1010918

OPEN Cur

FETCH NEXT From cur INTO @ONYX_ID

WHILE @@FETCH_STATUS = 0
BEGIN
    ----How to say not to create result set if no value-----------
    ---Unable to create temp table in this database-------
    EXEC csprgCustomerProduct_TranscriptItem_KAP  @ONYX_ID

    FETCH NEXT FROM Cur INTO @ONYX_ID
END

CLOSE Cur
DEALLOCATE Cur

标签: sql-server

解决方案


csprgCustomerProduct_TranscriptItem_KAP根据我的理解,如果不返回任何记录,您不需要结果集。

因此,您可以在过程的结果集中使用 IF EXISTS。如果返回查询中存在任何记录,则它应该给出结果,否则没有结果集。


推荐阅读