Ver Mensaje Individual
  #1  
Antiguo 27-10-2012
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Reputación: 14
novato_erick Va por buen camino
llamar procedimiento dentro de otro procedimiento

Hola a todos como están chicos?


Trabajando un poco e tratado de realizar consultas, insert, update con procedimientos Almacenados, leyendo un poco dentro del foro había pensado en realizar dos procedimientos por aparte en firebird 2.5 para una consulta capturando el id y luego otro procedimiento para insertar. pero leyendo un poco me percate que se puede llamar el procedimiento de consulta dentro de un procedimiento para que inserte la consulta lo trate de hacer pero aun no logro correrlo correctamente:

Procedimiento de Consulta:
Código SQL [-]
SET TERM ^ ;

CREATE PROCEDURE CONSULTACEDULA(
  CEDULA VARCHAR(20) CHARACTER SET NONE COLLATE NONE)
RETURNS(
  ID INTEGER)
AS
BEGIN
  /* Procedure body */
  SELECT ID_EMPLEADOS FROM TEMPLEADOS WHERE CEDULA_EMPL =:CEDULA INTO :ID;

END^

SET TERM ; ^

Procedimiento que llama al procedimiento de consulta

Código SQL [-]
CREATE PROCEDURE ADJUNTO(
  ID INTEGER,
  HOJADVIDA CHAR(1) CHARACTER SET NONE COLLATE NONE,
  FOTO CHAR(1) CHARACTER SET NONE COLLATE NONE,
  CED CHAR(1) CHARACTER SET NONE COLLATE NONE,
  TITULOS CHAR(1) CHARACTER SET NONE COLLATE NONE,
  REFERENCIAS CHAR(1) CHARACTER SET NONE COLLATE NONE,
  RP CHAR(1) CHARACTER SET NONE COLLATE NONE,
  EXAM CHAR(1) CHARACTER SET NONE COLLATE NONE)
AS
DECLARE VARIABLE Cedula VARCHAR(20);
DECLARE VARIABLE dd INTEGER;
BEGIN
EXECUTE procedure CONSULTACEDULA(:Cedula) RETURNING_VALUES :dd;
INSERT INTO TADJUNTOSEMPL (ID_EMPLEADOS,HOJADEVIDA,FOTOCARNET,COPIACED,
                           COPIATITULOS,REFERENCIAS,RECORDPOLICIACO,EXAMEMBARAZO)
  VALUES (:dd,:HOJADVIDA,:FOTO,:CEDULA,:TITULOS,:REFERENCIAS,:RP,:EXAM);
  SUSPEND;
END;

Alguien podría orientarme que pasará?

Saludos

novato_erick
Responder Con Cita