Voglio scrivere una stored procedure che funziona in questo modo:stored procedure con risultati condizionali
SELECT * from T where T.A = @a and T.B = @b
se che restituisce le righe, restituire le righe, se non, tornare
SELECT * from T where T.A = @a and T.B IS NULL
Edit :
Sembra che ci dovrebbe essere un modo per creare una procedura tale da eseguire la prima query una volta ed esegue la seconda query solo se necessario.
Fine modifica.
il meglio che potevo gestire è stato il seguito, che (in teoria) esegue la prima query per due volte, a meno che forse la sua cache:
IF EXISTS (SELECT * from T where T.A = @a and T.B = @b) THEN
SELECT * from T where T.A = @a and T.B = @b
ELSE
SELECT * from T where T.A = @a and T.B IS NULL
Per quello che il suo valore, questo è in Microsoft SQL Server 2008
Quale database e versione? – Blorgbeard
E la tua domanda o problema è?!?!?!? Sembra che tu abbia un approccio - non funziona, o qual è il problema? –
Se si tratta di SQL Server 2000, questo è l'approccio migliore che conosco ma +1 perché mi piacerebbe sapere se c'è un altro modo! –