Creando objetos y referencias en oracle me ha surgido una pequeña duda.
Primero os mostraré mi escenario para que os hagáis una idea.
Código SQL:
Ver original
CREATE OR REPLACE TYPE TipoUsuario AS object ( usuario varchar2(20), fechaAlta DATE );
Código SQL:
Ver original
CREATE OR REPLACE TYPE TipoTabla AS object ( tabla varchar2(40), tamanio NUMBER(8,2), usuario REF TipoUsuario );
Código SQL:
Ver original
CREATE OR REPLACE TYPE tabla_anidada AS TABLE OF TipoTabla;
Código SQL:
Ver original
CREATE OR REPLACE TYPE TipoTablespace AS object ( tablespace varchar2(40), tablas tabla_anidada, member FUNCTION ObtenerTamanio RETURN NUMBER, pragma restrict_references(ObtenerTamanio,WNDS) );
La función del tipo "TipoTablespace" esta declarada correctamente. Aparte que no tiene nada que ver con mi duda.
Bueno...la pregunta es la siguiente. A traves de un simple "SELECT" estoy intentado sacar los datos del cursor de forma individual, pero no encuentro la manera. No puedo utilizar pl/sql.
este es mi select. Y tiene que ser asi, porque para el tablespace de pepe quiero sacar un usuario en concreto de las tablas que tiene el tablespace.
Código SQL:
¿alguien sabría sacar un dato en concreto del cursor que tiene esta select sin pl/slq?Ver original
SELECT cursor(SELECT deref(tbs.usuario) FROM TABLE(ts.tablas) tbs) FROM tablespaces ts WHERE ts.tablespace = 'pepe'
La consulta funciona perfectamente, pero como es logico me muestra todos los datos del cursor, y yo solo quiero uno condicionándolo con un where.
Un saludo y gracias de antemano ;)