Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

[SOLUCIONADO] Necesito PL/SQL

Estas en el tema de Necesito PL/SQL en el foro de Oracle en Foros del Web. Tengo 2 tablas con tres campos en común: Tabla EMPLEADOS CRF varcahar2 (13) AREA number (6) DEPTO...number (6) (tiene 257 registros) Tabla INVENTARIO RFC varchar2 ...
  #1 (permalink)  
Antiguo 30/10/2013, 17:42
 
Fecha de Ingreso: octubre-2013
Mensajes: 3
Antigüedad: 10 años, 5 meses
Puntos: 0
Pregunta Necesito PL/SQL

Tengo 2 tablas con tres campos en común:

Tabla EMPLEADOS
CRF varcahar2 (13)
AREA number (6)
DEPTO...number (6)
(tiene 257 registros)

Tabla INVENTARIO
RFC varchar2 (13)
AREA number (3)
DEPTO number (3)
(tiene 4382 registros)

1. Donde los campos de RFC y de la tabla EMPLEADOS tienen homoclave (Ejemplo: MACT820925X6A) y en la tabla INVENTARIO el mismo empleado aparece con ceros (Ejemplo: MACT820925000).

2. En la tabla de INVENTARIO puede aparecer el RFC varias veces ya que cada registro corresponde aun bien mueble (escritorio, PC, silla, archiveros, etc..) que tiene en su oficina o cubículo.

3. De los campos AREA en la tabla INVENTARIO solo consta de 3 dígitos (Ejemplo: 110) y en EMPLEADOS son 6 dígitos (Ejemplo: 5110)... sin embargo condicen perfectamente los últimos tres.

4. Delos campos DEPTO en la tabla INVENTARIO solo consta de 3 dígitos (Ejemplo: 105) y en EMPLEADOS son 6 dígitos (Ejemplo: 5000)... donde el ultimo del INVENTARIO es el mismo del primero de EMPLEADOS.

EMPLEADOS
RFC---------------------AREA------------------DEPTO
MACT820925X6A-----5000------------------5110

INVENTARIO
RFC---------------------AREA------------------DEPTO
MACT820925000-----105-------------------110

Lo que necesito es actualizar la tabla INVENTARIO en el campo RFC como el de la tabla EMPLEADOS

EMPLEADOS
RFC---------------------AREA------------------DEPTO
MACT820925X6A-----5000------------------5110

INVENTARIO
RFC---------------------AREA------------------DEPTO
MACT820925X6A-----105-------------------110

necesito un query PL/SQL para ORACLE que me permita hacerlo...


SI LOS 10 PRIEMROS CARACTERES DE LOS RFC SON IGUALES QUE REEMPLACE EL RFC SIN HOMOCLAVE POR EL QUE SI LO TIENE EN TODOS LOS REGISTROS CORRESPONDIENTES...

ESTO ES LO QUE TENGO PERO YA ME ATORES

Código SQL:
Ver original
  1. DECLARE
  2.  
  3.       CURSOR    C_INVENTARIO    IS
  4.  
  5.           SELECT RFC, DEPTO, AREA
  6.           FROM INVENTARIO;
  7.  
  8.       CURSOR    C_EMPLEADOS    IS
  9.  
  10.           SELECT RFC, DEPTO, AREA
  11.           FROM EMPLEADOS;
  12.  
  13.       V_R1   C_INVENTARIO%ROWTYPE;
  14.       V_R2   C_EMPLEADOS%ROWTYPE;
  15.  
  16.       REGIS1   VARCHAR2 (13) := ''
  17.  
  18. BEGIN
  19.   OPEN V_R1;
  20.   FETCH C_INVENTARIO INTO V_R1;
  21.   LOOP
  22.     REGIS1:= SUBSTR(V_R1.RFC,1,10)
  23.   FETCH C_INVENTARIO INTO V_R1;
  24.   EXIT WHEN V_R1%NOTFOUND;
  25.   END LOOP;
  26.   OPEN V_R2;
  27.   FETCH C_EMPLEADOS INTO V_R2;
  28.   LOOP
  29.     REGIS2:= SUBSTR(V_R1.RFC,1,10)
  30.   FETCH C_INVENTARIO INTO V_R1;
  31.   EXIT WHEN V_R1%NOTFOUND;
  32.   END LOOP;
  33. BEGIN
  34.     UPDATE INVENTARIO SET RFC = V_R1.RFC
  35.       RFC = REGISTRO
  36.     END;
  37.   FETCH C_INVENTARIO INTO V_R1;
  38.   EXIT WHEN V_R1%NOTFOUND;
  39.   END LOOP;
  40.   CLOSE V_R1;
  41. END;

Última edición por gnzsoloyo; 30/10/2013 a las 19:33 Razón: ACTUALIZACION
  #2 (permalink)  
Antiguo 30/10/2013, 18:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Necesito PL/SQL

Cita:
necesito un query PL/SQL para ORACLE que me permita hacerlo...
Pues escríbelo, y nosotros te diremos si vas bien orientado. Pero no lo haremos por ti.
Este es un foro colaborativo, guiamos, aconsejamos y sugerimos. No hacemos tareas ajenas ni trabajos prácticos.
Muestranos como lo plantearías y veremos qué debería cambiar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 30/10/2013, 18:45
 
Fecha de Ingreso: octubre-2013
Mensajes: 3
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Necesito PL/SQL

Ya lo actualice...

Etiquetas: ayuda!!, query
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:27.