Eu tenho um procedimento armazenado que retorna vários conjuntos de registros para uso em um aplicativo. Às vezes, alguns desses conjuntos de registros estão vazios.
Eu gostaria de reduzir a sobrecarga e retornar apenas aqueles que têm 1 ou mais linhas.
Minha pergunta é - Como posso retornar apenas os conjuntos de registros que possuem linhas?
O aplicativo simplesmente espera 0 ou mais conjuntos de registros, faz um loop em cada um e os imprime.
Eu sei que posso ignorá-los no código do aplicativo, mas estou tentando impedir que eles sejam retornados, se estiverem vazios.
O procedimento é tão simples quanto isto:
CREATE PROCEDURE bfsp_PROC_NM
AS
BEGIN
SELECT * FROM TABLE_1
SELECT * FROM TABLE_2
SELECT * FROM TABLE_3
RETURN
END
GO
No procedimento real, algumas das consultas são caras, então eu não quero ter que testar a consulta, então se ela retornar uma linha ou mais, execute-a novamente... pois seria muito caro.