Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Que tiene de malo? (https://www.clubdelphi.com/foros/showthread.php?t=26451)

juliopag1 24-10-2005 05:02:44

Que tiene de malo?
 
Todo esta bien hasta la parte de

Código SQL [-]
 
 SELECT GE_CODIGO FROM G_ESPIRITUAL WHERE GE_GA_MATRICULA = :MATRI INTO :CODIGO;
 UPDATE G_ALUMNO SET GA_GE_CODIGO = :CODIGO WHERE GA_MATRICULA = :MATRI;
de hay en adelande me da error de que la columna no existe, pero todo esta bien, bueno creo porque sino no diera.

Les dejo el codigo para ver si pueden entender el porque.

Código SQL [-]
 
SET TERM !!
 CREATE PROCEDURE INS_ALUMNO (FOTO VARCHAR(100),
 NOMBRE1 VARCHAR(15), NOMBRE2 VARCHAR(15),
 APELLIDO1 VARCHAR(15), APELLIDO2 VARCHAR(15),
 FECHA_NAC DATE, LIBRO NUMERIC(8),
 FECHA_INC DATE, FECHA_RET DATE,
 RETIRADO VARCHAR(1), CCO_CODIGO NUMERIC(8),
 VIVE_PADRES VARCHAR(1), CNA_CODIGO NUMERIC(8),
 SEXO VARCHAR(1), TELEFONO NUMERIC(10),
 CELULAR NUMERIC(10), EMAIL VARCHAR(60),
 OBSERVACION VARCHAR(60), GT_CODIGO NUMERIC(8),
 CCU_CODIGO NUMERIC(8), CPR_CODIGO NUMERIC(8),
 CC_CODIGO NUMERIC(8), CU_CODIGO NUMERIC(8),
 DIRECCION VARCHAR(80), GE_CODIGO NUMERIC(8),
 GHA_CODIGO NUMERIC(8), GS_CODIGO NUMERIC(8),
 SECCION VARCHAR(1), NUMERO NUMERIC(2),
 GHA_REPETIDOCURSO VARCHAR(1), GHA_RAZONREPETIR VARCHAR(50),
 GHA_NOCOLEGIO NUMERIC(2), GHA_RAZONCAMBIOCOLEGIO VARCHAR(30),
 GHA_CONDCOLEGIOANT VARCHAR(10), GHA_COLANT VARCHAR(30),
 GHA_TELCOLANT NUMERIC(10), GS_GA_MATRICULA VARCHAR(8),
 GS_TIPODESANGRE VARCHAR(3), GS_ANALGESICOQUEUSA VARCHAR(30),
 GS_ALERGICOA VARCHAR(30), GS_BAJOTRATAMIENTOMEDICO VARCHAR(1),
 GS_PADECENERVIOS VARCHAR(1), GS_PADECIDOENFERMEDADGRAVE VARCHAR(1),
 GS_SUMAYORPROBLEMA VARCHAR(30), GE_CI_CODIGO NUMERIC(8),
 GE_IGLESIAPADRES VARCHAR(20), GE_LEENBIBLIA VARCHAR(20)
 )
 AS
 DECLARE VARIABLE SECNUM NUMERIC(8);
 DECLARE VARIABLE GENMAT NUMERIC(8);
 DECLARE VARIABLE MATRI VARCHAR(8);
 DECLARE VARIABLE CODIG0 NUMERIC(8);
 BEGIN
 SELECT COUNT(*) FROM G_ALUMNO INTO :SECNUM;
 SELECT COUNT(GA_FECHA_INC) FROM G_ALUMNO
 WHERE EXTRACT(YEAR FROM GA_FECHA_INC) = EXTRACT(YEAR FROM :FECHA_INC) INTO :GENMAT;
 INSERT INTO G_ALUMNO VALUES( (:SECNUM + 1001),
 ((CAST(EXTRACT(YEAR FROM :FECHA_INC) AS INTEGER) * 10000) + (:GENMAT + 1)),
 :FOTO, :NOMBRE1, :NOMBRE2, :APELLIDO1, :APELLIDO2, :FECHA_NAC, :LIBRO,
 :FECHA_INC, :FECHA_RET, :RETIRADO, :CCO_CODIGO, :VIVE_PADRES, :CNA_CODIGO, :SEXO,
 :TELEFONO, :CELULAR, :EMAIL, :OBSERVACION, :GT_CODIGO, :CCU_CODIGO, :CPR_CODIGO,
 :CC_CODIGO, :CU_CODIGO, IRECCION, :GE_CODIGO, :GHA_CODIGO, :GS_CODIGO, :SECCION,
 :NUMERO
 );
 SELECT GA_MATRICULA FROM G_ALUMNO WHERE GA_ORDEN = (:SECNUM + 1001) INTO :MATRI;
 EXECUTE PROCEDURE INS_HIST_ALUMN :MATRI, :CCU_CODIGO, :GHA_REPETIDOCURSO,
 :GHA_RAZONREPETIR, :GHA_NOCOLEGIO, :GHA_RAZONCAMBIOCOLEGIO,
 :GHA_CONDCOLEGIOANT, :GHA_COLANT, :GHA_TELCOLANT;
 EXECUTE PROCEDURE INS_SALUD :MATRI, :GS_TIPODESANGRE, :GS_ANALGESICOQUEUSA,
 :GS_ALERGICOA, :GS_BAJOTRATAMIENTOMEDICO, :GS_PADECENERVIOS,
 :GS_PADECIDOENFERMEDADGRAVE, :GS_SUMAYORPROBLEMA;
 EXECUTE PROCEDURE INS_ESPIRITUAL :MATRI, :GE_CI_CODIGO, :GE_IGLESIAPADRES, :GE_LEENBIBLIA;
 
 SELECT GE_CODIGO FROM G_ESPIRITUAL WHERE GE_GA_MATRICULA = :MATRI INTO :CODIGO;
 UPDATE G_ALUMNO SET GA_GE_CODIGO = :CODIGO WHERE GA_MATRICULA = :MATRI;
 
 SELECT GHA_CODIGO FROM G_HIST_ALUMN WHERE GHA_GA_MATRICULA = :MATRI INTO :CODIGO;
 UPDATE G_ALUMNO SET GA_GHA_CODIGO = :CODIGO WHERE GA_MATRICULA = :MATRI;
 
 SELECT GS_CODIGO FROM G_SALUD WHERE GS_GA_MATRICULA = :MATRI INTO :CODIGO;
 UPDATE G_ALUMNO SET GA_GS_CODIGO = :CODIGO WHERE GA_MATRICULA = :MATRI;
 
 SUSPEND;
 END !!
 SET TERM !!


La franja horaria es GMT +2. Ahora son las 06:22:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi