Oracle - nombre de tabla dinamicamente

   
Vista:

nombre de tabla dinamicamente

Publicado por Ayuda urgente (2 intervenciones) el 30/07/2016 22:39:48
tengo el siguiente PROCEDURE
el cual contiene el siguiente codigo


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
create or replace
PROCEDURE "ACTUALIZAR_FACTURAS_RIPS_P2" (
 
  a_secproc1 in resol3374af.secproc1%TYPE ,
  a_codpresserv in resol3374af.codpresserv%TYPE ,
 
  RCCURSOR OUT NOCOPY SYS_REFCURSOR )
 
AS
BEGIN
    MERGE INTO  resol3374af  AF
 
     USING (   SELECT distinct  tipodocafilia, identafilia, mes_carga, anno_carga, codigoent
            FROM aseg_mg
              )   detalle
 
                ON (AF.tipoident_usuario = detalle.tipodocafilia and AF.nroident_usuario = detalle.identafilia
                    and  AF.secproc1= a_secproc1 and  AF.codpresserv=a_codpresserv
                    AND  detalle.mes_carga = to_char(af.FECMAXSERVICIO,'MM' ) AND detalle.anno_carga = to_char(af.FECMAXSERVICIO,'YYYY' ) )
 
    WHEN MATCHED THEN
         UPDATE SET  AF.tipo_afiliacion = '3. MAGISTERIO', AF.eps_codigo=detalle.codigoent  ;
 
    MERGE INTO  resol3374af  AF
       USING (   SELECT  distinct tipodocafilia, identafilia, mes_carga, anno_carga, fechanovedad fecha_afiliacion, codigoent
              FROM aseg_mc1
             WHERE    estado in ('AC')   )   detalle
 
                  ON (AF.tipoident_usuario = detalle.tipodocafilia and AF.nroident_usuario = detalle.identafilia
                      and  AF.secproc1= a_secproc1 and  AF.codpresserv=a_codpresserv and detalle.fecha_afiliacion < = AF.fecmaxservicio
                      AND  detalle.mes_carga = to_char(af.FECMAXSERVICIO,'MM' ) AND detalle.anno_carga = to_char(af.FECMAXSERVICIO,'YYYY' ) )
     WHEN MATCHED THEN
           UPDATE SET  AF.tipo_afiliacion = '2. CONTRIBUTIVO', AF.eps_codigo=detalle.codigoent;
    -- son las factura que en el detalle no tiene nro de identificacion
    UPDATE resol3374af AF
       SET  AF.tipo_afiliacion = '4. SIN IDENTIFICAR'
    WHERE af.nroident_usuario IS NULL and secproc1= a_secproc1 ;
 
     -- son las factura que en el detalle tiene nro identificacion peron no esta en ningun regimen MS,MC,MG
    UPDATE resol3374af AF
       SET  AF.tipo_afiliacion = '5. SIN AFILIACION'
    WHERE trim(af.tipo_afiliacion) IS NULL and secproc1= a_secproc1 ;
 
    Commit;
 
    OPEN RCCURSOR for  select 1 retorno  from dual;
 
END ACTUALIZAR_FACTURAS_RIPS_P2;



el cual contiene el siguiente trozo de codigo

FROM aseg_mc1
WHERE estado in ('AC') ) detalle


la tabla aseg_mc1 es dinamica, puede ser aseg_mc2, aseg_mc3


como hago para que me asigne una variable al numero y me quede dinamica la tabla
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder