sql >> Database teknologi >  >> RDS >> Sqlserver

Brug af IF EXISTS med en CTE

Fra MSDN

Det kan omskrives sådan her

WITH ADMISSION_OUTSIDE AS 
(   .....
.....
)
SELECT 'OK' WHERE EXISTS (SELECT * FROM ADMISSION_OUTSIDE)
UNION ALL
SELECT 'NOT OK' WHERE NOT EXISTS (SELECT * FROM ADMISSION_OUTSIDE)

Her er en demo

;WITH CTE AS
(
SELECT 1 as a WHERE 1=0
)
SELECT 'OK' WHERE EXISTS (SELECT * FROM CTE)
UNION ALL
SELECT 'NOT OK' WHERE NOT EXISTS (SELECT * FROM CTE)

Resultat: NOT OK

;WITH CTE AS
(
SELECT 1 as a WHERE 1=1
)
SELECT 'OK' WHERE EXISTS (SELECT * FROM CTE)
UNION ALL
SELECT 'NOT OK' WHERE NOT EXISTS (SELECT * FROM CTE)

Resultat: OK



  1. Hvordan finder man det aktuelle transaktionsniveau?

  2. Hvordan henter man alle rekursive børn af overordnet række i Oracle SQL?

  3. Sådan opretter du forbindelse til Oracle som SYS fra SQL*Plus i Java

  4. Aktiver Entity Framework 6 for MySql (C#) i WinForms af Microsoft Visual Studio 2013