Académique Documents
Professionnel Documents
Culture Documents
Presentado por:
JAVIER YAQUENO
Presentado a:
MIGUEL TOVAR TORRES.
--AND deptno = 10
START WITH
ename = 'KING'
CONNECT BY PRIOR
empno = MGR AND LEVEL <= 4;
Otra consulta distinta donde se ve mejor el rbol recorrido:
SELECT
Empno
,ename
,mgr
,LPAD(' ',10*LEVEL)||level||'. '||empno
,LPAD(' ',10*LEVEL)||level||'. '||ename
,SYS_CONNECT_BY_PATH(ename, '/')
FROM scott.emp
start with ename='KING'
CONNECT BY
PRIOR empno = mgr;
LEVEL
Para cada registro devuelto por la consulta jerrquica la pseudocolumna LEVEL
devuelve 1 para la raz (root), 2 para los hijos de la raz (root) y as sucesivamente.
El registro raz es el ms alto de un rbol invertido. Un registro hijo es cualquiera
que no sea root. Un registro padre es el que posee algn registro hijo. Un registro
hoja (leaf) es aquel que no tiene hijos.
La siguiente figura muestra los nodos de un rbol invertido con sus tres primeros
niveles.
Para definir una consulta de tipo jerrquica se deben utilizar las clausulas START
WITH y CONNECT BY.
PSEUDOCOLUMNAS DE SECUENCIA
Una secuencia es un objeto de base de datos que genera una secuencia de valores
nicos. Estos valores se utilizan habitualmente en las claves nicas y primarias.
CURRVAL
Devuelve el valor actual de una secuencia.
NEXTVAL
Devuelve el siguiente valor de una secuencia.
Ambas se deben cualificar con el nombre de la secuencia para utilizarlas en una
consulta:
secuencia.CURRVAL, secuencia.NEXTVAL.
VERSIONS_ENDTIME
Devuelve el timestamp de la ltima versin de los registros devueltos en una
consulta.
VERSIONS_ENDSCN
Devuelve el SCN de la ltima versin de los registros devueltos en una consulta.
VERSIONS_XID
Por cada versin de cada registro, devuelve el ID de la transaccin (un nmero
RAW) de la transaccin que cre aquella versin de registro.
VERSIONS_OPERATION
Por cada versin de cada registro, devuelve un carcter nico representando la
operacin que causo la versin del registro. Los valores devueltos son I (para una
operacin de insercin/Insert), U (para una operacin de modificacin/Update) o D
(para una operacin de borrado/Delete).