Estimados,
no muy asiduo en los foros, pero tengo un problema con la creación de un SP para oracle, el cual debe estar compuesto por un select que consulta a una infinidad de tablas para traer como resultado dos columnas, i problema es que no e podido crear el sp que de devuelva el select y me cree una tabla con los parámetros que trae al frente en este caso SED y NIS .
espero que me puedan ayudar.
Saludos
Código SQL:
Ver originalCREATE TABLE temp_nis
AS
SELECT DISTINCT BRID.SED, C.ACCOUNT_NUMBER AS NIS
FROM po_elec_demand@dbl_po D, po_customer_connection@dbl_po CC,PO_CUSTOMER@dbl_po C,
(SELECT DISTINCT PO_ELEC_ZONE.NAME SED,
PO_FACILITY_TYPE.ID,
PO_FACILITY_TYPE.NAME,
PO_ELEC_ZONE.TYPE,
PO_INT_ELEC_BREAK.ID BREAKID
FROM POWERON.PO_ELEC_ADJACENCY@dbl_po PO_ELEC_ADJACENCY,
POWERON.PO_ELEC_EXTENT_TO_SECTION@dbl_po PO_ELEC_EXTENT_TO_SECTION,
POWERON.PO_ELEC_ZONE@dbl_po PO_ELEC_ZONE,
POWERON.PO_FACILITY_TYPE@dbl_po PO_FACILITY_TYPE,
POWERON.PO_INT_ELEC_BREAK@dbl_po PO_INT_ELEC_BREAK,
POWERON.PO_INT_ELEC_EXTENT@dbl_po PO_INT_ELEC_EXTENT,
POWERON.PO_INT_ELEC_JUNCTION@dbl_po PO_INT_ELEC_JUNCTION,
POWERON.PO_INT_ELEC_SPAN@dbl_po PO_INT_ELEC_SPAN,
(SELECT PO_ELEC_ZONE.NAME AS SED,
PO_FACILITY_TYPE.ID,
PO_FACILITY_TYPE.NAME,
PO_ELEC_ZONE.TYPE,RTRIM(LTRIM(SUBSTR(PO_INT_ELEC_BREAK.DESCRIPTION,LENGTH(PO_INT_ELEC_BREAK.DESCRIPTION)-5,LENGTH(PO_INT_ELEC_BREAK.DESCRIPTION)))) CODIGO
FROM POWERON.PO_ELEC_ADJACENCY@dbl_po PO_ELEC_ADJACENCY,
POWERON.PO_ELEC_EXTENT_TO_SECTION@dbl_po PO_ELEC_EXTENT_TO_SECTION,
POWERON.PO_ELEC_ZONE@dbl_po PO_ELEC_ZONE,
POWERON.PO_FACILITY_TYPE@dbl_po PO_FACILITY_TYPE,
POWERON.PO_INT_ELEC_BREAK@dbl_po PO_INT_ELEC_BREAK,
POWERON.PO_INT_ELEC_EXTENT@dbl_po PO_INT_ELEC_EXTENT,
POWERON.PO_INT_ELEC_JUNCTION@dbl_po PO_INT_ELEC_JUNCTION,
POWERON.PO_INT_ELEC_SPAN@dbl_po PO_INT_ELEC_SPAN
WHERE PO_ELEC_ADJACENCY.NETWORK_SECTION_ID = PO_ELEC_EXTENT_TO_SECTION.NETWORK_SECTION_ID
AND PO_ELEC_EXTENT_TO_SECTION.EXTENT_ID = PO_INT_ELEC_EXTENT.ID
AND PO_INT_ELEC_EXTENT.ID = PO_INT_ELEC_SPAN.EXTENT_ID
AND PO_INT_ELEC_SPAN.ID = PO_ELEC_ZONE.NORMAL_SPAN_ID
AND PO_INT_ELEC_JUNCTION.ID = PO_ELEC_ADJACENCY.JUNCTION_ID
AND PO_INT_ELEC_JUNCTION.BREAK_ID = PO_INT_ELEC_BREAK.ID
AND PO_FACILITY_TYPE.ID = PO_INT_ELEC_BREAK.FACILITY_TYPE_ID
AND ((PO_INT_ELEC_BREAK.FACILITY_TYPE_ID = 25 )
AND (PO_ELEC_ZONE.TYPE='bt'))
-- AND PO_ELEC_ZONE.NAME = '31454' -- Ingreso de SED a buscar sus Nis
ORDER BY PO_ELEC_ZONE.NAME) ZONA
WHERE PO_ELEC_ADJACENCY.NETWORK_SECTION_ID = PO_ELEC_EXTENT_TO_SECTION.NETWORK_SECTION_ID
AND PO_ELEC_EXTENT_TO_SECTION.EXTENT_ID = PO_INT_ELEC_EXTENT.ID
AND PO_INT_ELEC_EXTENT.ID = PO_INT_ELEC_SPAN.EXTENT_ID
AND PO_INT_ELEC_SPAN.ID = PO_ELEC_ZONE.NORMAL_SPAN_ID
AND PO_INT_ELEC_JUNCTION.ID = PO_ELEC_ADJACENCY.JUNCTION_ID
AND PO_INT_ELEC_JUNCTION.BREAK_ID = PO_INT_ELEC_BREAK.ID
AND PO_FACILITY_TYPE.ID = PO_INT_ELEC_BREAK.FACILITY_TYPE_ID
AND ((PO_INT_ELEC_BREAK.FACILITY_TYPE_ID = 24 )
AND (PO_ELEC_ZONE.TYPE='bt'))
AND PO_ELEC_ZONE.NAME = ZONA.CODIGO
ORDER BY PO_ELEC_ZONE.NAME) BRID
WHERE D.service_break_id = BRID.BREAKID
AND D.demand_section_id = CC.demand_section_id
AND C.ID = CC.CUSTOMER_ID
/
[/QUOTE]