Equivalencia connect by prior

21/03/2007 - 15:09 por Jesus Suarez | Informe spam
hola a todos
cual es la sentencia equivalente a la sentencia de oracle connect by prior y
algun ejemplo de uso

gracias.

Preguntas similare

Leer las respuestas

#1 Maxi
21/03/2007 - 15:41 | Informe spam
Que hace esa sentencia?


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Jesus Suarez" escribió en el mensaje
news:
hola a todos
cual es la sentencia equivalente a la sentencia de oracle connect by prior
y algun ejemplo de uso

gracias.

Respuesta Responder a este mensaje
#2 Jesus Suarez
21/03/2007 - 15:59 | Informe spam
te permite navegar en una tabla que tiene estructura de arbol

"Maxi" escribió en el mensaje
news:%
Que hace esa sentencia?


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Jesus Suarez" escribió en el mensaje
news:
hola a todos
cual es la sentencia equivalente a la sentencia de oracle connect by
prior y algun ejemplo de uso

gracias.





Respuesta Responder a este mensaje
#3 Maxi
21/03/2007 - 16:17 | Informe spam
No se que decirte, en SQL podes moverte por los registros con cursores


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Jesus Suarez" escribió en el mensaje
news:
te permite navegar en una tabla que tiene estructura de arbol

"Maxi" escribió en el mensaje
news:%
Que hace esa sentencia?


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Jesus Suarez" escribió en el mensaje
news:
hola a todos
cual es la sentencia equivalente a la sentencia de oracle connect by
prior y algun ejemplo de uso

gracias.









Respuesta Responder a este mensaje
#4 Javier Loria
22/03/2007 - 04:52 | Informe spam
Hola Jesus:
En SQL 2005 usamos la setencia WITH:
WITH Empleados (EmployeeID, ManagerID, Level)
AS
(
SELECT EmployeeID, ManagerID, 1
FROM HumanResources.Employee
WHERE ManagerID IS NULL
UNION ALL
SELECT Employee.EmployeeID, Employee.ManagerID, Empleados.Level+1
FROM HumanResources.Employee
JOIN Empleados
ON Empleados.EmployeeID=Employee.ManagerID
)
SELECT * FROM Empleados
Si revisas la sentencia, verás que luego de la declaracion:
WITH Empleados (EmployeeID, ManagerID, Level)
AS
(
Viene un primer select que es el "Ancla" o sea se ejecuta una vez. En Oracle
la condicion del where seria equivalente a START WITH.
Luego viene un UNION ALL; y finalmente viene un SELECT que se ejecuta que se
ejecutara recursivamente hasta que no se agreguen más filas. En este ultimo
select veras que se hace referencia a la misma declaracion (Empleados), y en
la condicion se expresa como enlazar la consulta recursivamente. Esto seria
el equivalente al prior de Oracle.
Saludos,


Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
"Jesus Suarez" wrote in message
news:
hola a todos
cual es la sentencia equivalente a la sentencia de oracle connect by prior
y algun ejemplo de uso

gracias.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida