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