Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/04/2013, 18:50
garotoxd
 
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años, 3 meses
Puntos: 0
Pregunta Procedimiento para eliminar persona por id


AYUDA

les dejo la url de la BASE

lo que hice fue lo siguiente
Código SQL:
Ver original
  1. CREATE OR REPLACE PROCEDURE eliclientes (
  2.   idper persona.id_persona%TYPE
  3. )
  4. AS
  5.   CURSOR c1 IS
  6.   SELECT cl.*
  7.   FROM persona pe, cuenta cu
  8.   WHERE pe.id_persona = cu.id_persona
  9.   AND pe.id_persona = idper
  10.   AND NOT EXISTS (SELECT *
  11.             FROM cuenta cu
  12.             WHERE cu.id_persona = pe.id_persona);
  13. BEGIN
  14.   FOR regcli IN c1 loop
  15.    
  16.  
  17.     UPDATE cuenta
  18.     SET id_persona = NULL
  19.     WHERE id_persona = regcli.id_persona;
  20.    
  21.  
  22.     DELETE
  23.     FROM persona
  24.     WHERE id_id_persona = regcli.id_persona;
  25.   END loop;
  26. END;
  27. /
  28.  
  29. EXEC eliclientes('340002');
  30. /
al compilar el procedimiento me compila con advertencias
y al compilar el EXEC me arroja el siguiente error


Error que empieza en la línea 94 del comando:
EXEC elipersona('1-2')
Informe de error:
ORA-06550: line 1, column 7:
PLS-00905: object USER2.ELIPERSONA is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:

Última edición por gnzsoloyo; 17/04/2013 a las 19:48