Como Fazer a Stored Procedure inserir valores na tabela
Criei uma Store Procedure que me retorna todos os alunos aprovados.
Como faço para que o conteúdo desta pesquisa seja incluido automaticamente na tabela de historicos segue abaixo a Procedure
CREATE PROCEDURE SP_GERAHISTDISC (
WCOD_ESC INTEGER,
WANO_ESC INTEGER)
RETURNS (
RCOD_ALU INTEGER,
RCOD_DISC INTEGER,
RCONCEITO_AVAL VARCHAR (2),
RCOD_SER INTEGER,
RNOTA_AVAL FLOAT,
RHORASNORMAIS_CURR INTEGER)
AS
declare variable VID_TURM VARCHAR(10);
BEGIN
FOR
SELECT VWS.COD_ALU
, VWS.ID_TURM
FROM ED_RESALUNO EDR
, VW_ALUNOSSERIE VWS
WHERE COD_RESAVAL IN (1,2,9)
AND COD_ESC =:WCOD_ESC
AND ANO_ESC =:WANO_ESC
AND EDR.ANO_ESC = VWS.ANO_ESC
AND EDR.COD_ESC = VWS.COD_ESC
AND EDR.COD_ALU = VWS.COD_ALU
INTO RCOD_ALU, VID_TURM
DO
FOR
SELECT COD_DISC
, MEDIAFINALCONCEITO_RES
, MEDIAFINALNOTA_RES
FROM ED_AVALRESALUNO EDA
WHERE EDA.COD_ESC =:WCOD_ESC
AND EDA.ANO_ESC =:WANO_ESC
AND EDA.COD_ALU =:RCOD_ALU
INTO RCOD_DISC, RCONCEITO_AVAL, RNOTA_AVAL
DO
FOR
SELECT COD_SER
, HORASNORMAIS_CURR
FROM ED_TURMA EDT
, ED_CURRICULO EDC
WHERE EDT.COD_ESC =:WCOD_ESC
AND EDT.ANO_ESC =:WANO_ESC
AND EDT.ID_TURM =:VID_TURM
AND EDC.COD_DISC =:RCOD_DISC
AND EDT.COD_ESC = EDC.COD_ESC
AND EDT.ANO_ESC = EDC.ANO_ESC
INTO RCOD_SER, RHORASNORMAIS_CURR
DO
/* Procedure body */
SUSPEND;
END
Como faço para que o conteúdo desta pesquisa seja incluido automaticamente na tabela de historicos segue abaixo a Procedure
CREATE PROCEDURE SP_GERAHISTDISC (
WCOD_ESC INTEGER,
WANO_ESC INTEGER)
RETURNS (
RCOD_ALU INTEGER,
RCOD_DISC INTEGER,
RCONCEITO_AVAL VARCHAR (2),
RCOD_SER INTEGER,
RNOTA_AVAL FLOAT,
RHORASNORMAIS_CURR INTEGER)
AS
declare variable VID_TURM VARCHAR(10);
BEGIN
FOR
SELECT VWS.COD_ALU
, VWS.ID_TURM
FROM ED_RESALUNO EDR
, VW_ALUNOSSERIE VWS
WHERE COD_RESAVAL IN (1,2,9)
AND COD_ESC =:WCOD_ESC
AND ANO_ESC =:WANO_ESC
AND EDR.ANO_ESC = VWS.ANO_ESC
AND EDR.COD_ESC = VWS.COD_ESC
AND EDR.COD_ALU = VWS.COD_ALU
INTO RCOD_ALU, VID_TURM
DO
FOR
SELECT COD_DISC
, MEDIAFINALCONCEITO_RES
, MEDIAFINALNOTA_RES
FROM ED_AVALRESALUNO EDA
WHERE EDA.COD_ESC =:WCOD_ESC
AND EDA.ANO_ESC =:WANO_ESC
AND EDA.COD_ALU =:RCOD_ALU
INTO RCOD_DISC, RCONCEITO_AVAL, RNOTA_AVAL
DO
FOR
SELECT COD_SER
, HORASNORMAIS_CURR
FROM ED_TURMA EDT
, ED_CURRICULO EDC
WHERE EDT.COD_ESC =:WCOD_ESC
AND EDT.ANO_ESC =:WANO_ESC
AND EDT.ID_TURM =:VID_TURM
AND EDC.COD_DISC =:RCOD_DISC
AND EDT.COD_ESC = EDC.COD_ESC
AND EDT.ANO_ESC = EDC.ANO_ESC
INTO RCOD_SER, RHORASNORMAIS_CURR
DO
/* Procedure body */
SUSPEND;
END
Paulo Cesar
Curtidas 0
Respostas
Afarias
22/10/2003
insert into tabela_historico (campoA, campoB, campoC)
select CampoA, CampoB, CampoC from seu_procedimento(p1, p2);
T+
select CampoA, CampoB, CampoC from seu_procedimento(p1, p2);
T+
GOSTEI 0
Paulo Cesar
22/10/2003
Obrigado A. Farias
T+
[]´s
T+
[]´s
GOSTEI 0