Expresión de Tabla Común, ¿por qué punto y coma?
Normalmente en la cláusula de expresión de la tabla común SQL Server
hay punto y coma delante de la instrucción, así:
;WITH OrderedOrders AS --semicolon here
(
SELECT SalesOrderID, OrderDate,
ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber'
FROM Sales.SalesOrderHeader
)
SELECT *
FROM OrderedOrders
WHERE RowNumber BETWEEN 50 AND 60
¿Por qué?
46
1 answers
- Para evitar ambigüedades porque CON se puede usar en otros lugares
..FROM..WITH (NOLOCK)..
RESTORE..WITH MOVE..
- Es opcional terminar sentencias con
;
en SQL Server
En conjunto, la declaración anterior debe terminar antes de a CON/CTE. Para evitar errores, la mayoría de la gente usa ;WITH
porque no sabemos qué hay antes del CTE
So
DECLARE @foo int;
WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
Es lo mismo que
DECLARE @foo int
;WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
...;
El comando MERGE tiene un requisito similar.
68
Author: gbn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-04 08:22:54
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-04 08:22:54