select s.xmldata.schema_owner OWNER,
s.xmldata.schema_url SCHEMA_URL,
s.xmldata.target_namespace TARGET_NAMESPACE,
ct.xmldata.name COMPLEX_TYPE_NAME,
value(ct) COMPLEX_TYPE,
(case
when
ct.xmldata.BASE_TYPE IS NULL then NULL
when
( select count(1)
from xdb.xdb$simple_type st
where ct.xmldata.BASE_TYPE = ref(st) ) != 0
then
( select st.xmldata.name
from xdb.xdb$simple_type st
where ct.xmldata.BASE_TYPE = ref(st) )
else
( select ctb.xmldata.name
from xdb.xdb$complex_type ctm,
xdb.xdb$complex_type ctb
where ref(ct) = ref(ctm)
and ctm.xmldata.BASE_TYPE = ref(ctb) )
end ) BASE_NAME,
(case
when
ct.xmldata.BASE_TYPE IS NULL then NULL
when
( select count(1)
from xdb.xdb$simple_type st
where ct.xmldata.BASE_TYPE = ref(st) ) != 0
then
( select s.xmldata.schema_url
from xdb.xdb$simple_type st, xdb.xdb$schema s
where ct.xmldata.BASE_TYPE = ref(st)
and sys_op_r2o(st.xmldata.parent_schema) = s.sys_nc_oid$)
else
( select s.xmldata.schema_url
from xdb.xdb$complex_type ctm,
xdb.xdb$complex_type ctb,
xdb.xdb$schema s
where ref(ct) = ref(ctm)
and ctm.xmldata.BASE_TYPE = ref(ctb) and
sys_op_r2o(ctb.xmldata.parent_schema) = s.sys_nc_oid$ )
end ) BASE_SCHEMA_URL,
(case
when
ct.xmldata.BASE_TYPE IS NULL then NULL
when
( select count(1)
from xdb.xdb$simple_type st
where ct.xmldata.BASE_TYPE = ref(st) ) != 0
then
( select s.xmldata.target_namespace
from xdb.xdb$simple_type st, xdb.xdb$schema s
where ct.xmldata.BASE_TYPE = ref(st)
and sys_op_r2o(st.xmldata.parent_schema) = s.sys_nc_oid$)
else
( select s.xmldata.target_namespace
from xdb.xdb$complex_type ctm,
xdb.xdb$complex_type ctb,
xdb.xdb$schema s
where ref(ct) = ref(ctm)
and ctm.xmldata.BASE_TYPE = ref(ctb) and
sys_op_r2o(ctb.xmldata.parent_schema) = s.sys_nc_oid$ )
end ) BASE_TARGET_NAMESPACE,
ct.xmldata.maintain_dom MAINTAIN_DOM,
ct.xmldata.sqltype SQL_TYPE,
ct.xmldata.SQLSCHEMA SQL_SCHEMA
from xdb.xdb$schema s, xdb.xdb$complex_type ct
where sys_op_r2o(ct.xmldata.parent_schema) = s.sys_nc_oid$
SELECT S.XMLDATA.SCHEMA_OWNER OWNER
,
S.XMLDATA.SCHEMA_URL SCHEMA_URL
,
S.XMLDATA.TARGET_NAMESPACE TARGET_NAMESPACE
,
CT.XMLDATA.NAME COMPLEX_TYPE_NAME
,
VALUE(CT) COMPLEX_TYPE
,
(CASE
WHEN
CT.XMLDATA.BASE_TYPE IS NULL THEN NULL
WHEN
( SELECT COUNT(1)
FROM XDB.XDB$SIMPLE_TYPE ST
WHERE CT.XMLDATA.BASE_TYPE = REF(ST) ) != 0
THEN
( SELECT ST.XMLDATA.NAME
FROM XDB.XDB$SIMPLE_TYPE ST
WHERE CT.XMLDATA.BASE_TYPE = REF(ST) )
ELSE
( SELECT CTB.XMLDATA.NAME
FROM XDB.XDB$COMPLEX_TYPE CTM
,
XDB.XDB$COMPLEX_TYPE CTB
WHERE REF(CT) = REF(CTM)
AND CTM.XMLDATA.BASE_TYPE = REF(CTB) )
END ) BASE_NAME
,
(CASE
WHEN
CT.XMLDATA.BASE_TYPE IS NULL THEN NULL
WHEN
( SELECT COUNT(1)
FROM XDB.XDB$SIMPLE_TYPE ST
WHERE CT.XMLDATA.BASE_TYPE = REF(ST) ) != 0
THEN
( SELECT S.XMLDATA.SCHEMA_URL
FROM XDB.XDB$SIMPLE_TYPE ST
, XDB.XDB$SCHEMA S
WHERE CT.XMLDATA.BASE_TYPE = REF(ST)
AND SYS_OP_R2O(ST.XMLDATA.PARENT_SCHEMA) = S.SYS_NC_OID$)
ELSE
( SELECT S.XMLDATA.SCHEMA_URL
FROM XDB.XDB$COMPLEX_TYPE CTM
,
XDB.XDB$COMPLEX_TYPE CTB
,
XDB.XDB$SCHEMA S
WHERE REF(CT) = REF(CTM)
AND CTM.XMLDATA.BASE_TYPE = REF(CTB) AND
SYS_OP_R2O(CTB.XMLDATA.PARENT_SCHEMA) = S.SYS_NC_OID$ )
END ) BASE_SCHEMA_URL
,
(CASE
WHEN
CT.XMLDATA.BASE_TYPE IS NULL THEN NULL
WHEN
( SELECT COUNT(1)
FROM XDB.XDB$SIMPLE_TYPE ST
WHERE CT.XMLDATA.BASE_TYPE = REF(ST) ) != 0
THEN
( SELECT S.XMLDATA.TARGET_NAMESPACE
FROM XDB.XDB$SIMPLE_TYPE ST
, XDB.XDB$SCHEMA S
WHERE CT.XMLDATA.BASE_TYPE = REF(ST)
AND SYS_OP_R2O(ST.XMLDATA.PARENT_SCHEMA) = S.SYS_NC_OID$)
ELSE
( SELECT S.XMLDATA.TARGET_NAMESPACE
FROM XDB.XDB$COMPLEX_TYPE CTM
,
XDB.XDB$COMPLEX_TYPE CTB
,
XDB.XDB$SCHEMA S
WHERE REF(CT) = REF(CTM)
AND CTM.XMLDATA.BASE_TYPE = REF(CTB) AND
SYS_OP_R2O(CTB.XMLDATA.PARENT_SCHEMA) = S.SYS_NC_OID$ )
END ) BASE_TARGET_NAMESPACE
,
CT.XMLDATA.MAINTAIN_DOM MAINTAIN_DOM
,
CT.XMLDATA.SQLTYPE SQL_TYPE
,
CT.XMLDATA.SQLSCHEMA SQL_SCHEMA
FROM XDB.XDB$SCHEMA S
, XDB.XDB$COMPLEX_TYPE CT
WHERE SYS_OP_R2O(CT.XMLDATA.PARENT_SCHEMA) = S.SYS_NC_OID$
|
|
|