Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je utiliser l'instruction if après un CTE (SQL Server 2005)

Expressions de table communes sont définis dans le contexte d'une seule instruction :

WITH cte_name AS (
  <cte definition>)
<statement that uses cte>;

Vous pouvez donc faire quelque chose comme :

WITH CTE
AS
( 
    SELECT * FROM SOMETABLE
)
SELECT * FROM CTE;

ou

WITH CTE
AS
( 
    SELECT * FROM SOMETABLE
)
UPDATE CTE 
SET somefield = somevalue
WHERE id = somekey;