sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo puedo usar la declaración if después de un CTE (SQL Server 2005)?

Expresiones de tabla comunes se definen dentro del contexto de una sola declaración:

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

Entonces puedes hacer algo como:

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

o

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