Stored Procedures en Join
Publicado por Santi (1 intervención) el 28/05/2009 19:35:22
Tengo un stored procedure que devuelve una tabla.
CREATE OR REPLACE PROCEDURE TablaOrigen
(
p_Id1 IN VARCHAR2(5000),
p_Id2 IN VARCHAR2(5000),
p_ResultSet OUT types.cursorType
)
is
textId_1 VARCHAR2(1000);
textDsc_2 VARCHAR2(5000);
numIds number;
Cursor c_Datos is
SELECT
Tabla1.id_1,
Tabla2.id_2,
COUNT (DISTINCT Tabla1.id_1) totalId1
FROM
Tabla1, Tabla2
WHERE
Tabla1.id_1 = p_Id1
Tabla2.id_2 = p_Id2
and Tabla1.id_1 = Tabla2.Id_1;
BEGIN
FOR r_Datos in c_Datos LOOP
textId_1 := r_Datos.id_1 || ';' || CHR (13);
textDsc_1 := r_Datos.id_2 || ';' || CHR (13);
numIds := r_Datos.totalId1;
END LOOP;
OPEN p_ResultSet FOR
SELECT p_Id1 as Id_1, p_Id2 as Id_2, textId_1, textDsc_1, numIds from Dual ;
END TablaOrigen;
/
Quiero que los parámetros In sean dinámicos, es decir, que dependan de valores en otras tablas:
Select
TT1,
TablaOrigen(TT1.campo1, TT1campo2).Id_1,
TablaOrigen(TT1.campo1, TT1campo2).Id_2
from TT1
ES POSIBLE??
CREATE OR REPLACE PROCEDURE TablaOrigen
(
p_Id1 IN VARCHAR2(5000),
p_Id2 IN VARCHAR2(5000),
p_ResultSet OUT types.cursorType
)
is
textId_1 VARCHAR2(1000);
textDsc_2 VARCHAR2(5000);
numIds number;
Cursor c_Datos is
SELECT
Tabla1.id_1,
Tabla2.id_2,
COUNT (DISTINCT Tabla1.id_1) totalId1
FROM
Tabla1, Tabla2
WHERE
Tabla1.id_1 = p_Id1
Tabla2.id_2 = p_Id2
and Tabla1.id_1 = Tabla2.Id_1;
BEGIN
FOR r_Datos in c_Datos LOOP
textId_1 := r_Datos.id_1 || ';' || CHR (13);
textDsc_1 := r_Datos.id_2 || ';' || CHR (13);
numIds := r_Datos.totalId1;
END LOOP;
OPEN p_ResultSet FOR
SELECT p_Id1 as Id_1, p_Id2 as Id_2, textId_1, textDsc_1, numIds from Dual ;
END TablaOrigen;
/
Quiero que los parámetros In sean dinámicos, es decir, que dependan de valores en otras tablas:
Select
TT1,
TablaOrigen(TT1.campo1, TT1campo2).Id_1,
TablaOrigen(TT1.campo1, TT1campo2).Id_2
from TT1
ES POSIBLE??
Valora esta pregunta


0