多个选择查询一个接一个地执行

时间:2018-05-21 12:04:18

标签: sql-server stored-procedures

我有六个具有不同where条件的选择查询,如果第一个选择查询返回null,它应该检查下一个选择查询并跟随。在SQL服务器中将其写为存储过程的最佳方法是什么。

2 个答案:

答案 0 :(得分:1)

您可以使用@@ rowcount

DECLARE @OperatorID INT = 4, @CurrentCalendarView VARCHAR(50) = 'month';
declare @t table (operatorID int, CurrentCalendarView varchar(50));
insert into @t values (2, 'year');

    select operatorID - 1, CurrentCalendarView from @t where 1 = 2
if (@@ROWCOUNT = 0) 
begin
    select operatorID + 1, CurrentCalendarView from @t where 1 = 1
end

答案 1 :(得分:0)

如果我正确理解了您的问题,那么您可以像下面的示例一样实现此目的。你可以这样走。

if NOT EXISTS (SELECT TOP(1) 'x' FROM table WHERE id =@myId) 
BEGIN
  IF NOT EXISTS (SELECT  TOP(1) 'x' FROM table2 WHERE id = @myId2) 
  BEGIN
    IF NOT EXISTS (SELECT TOP(1) 'x' FROM table 3 WHERE id = @myID3)
    BEGIN
    END 
  END 

END