Fórum Stored Procedure - Erro #55923
05/05/2006
0
Alguém pode me ajudar.Criei uma stored procedure e não consigo encontar o erro.Segue o script abaixo:
set term ^^;
CREATE PROCEDURE SP_PREFEITO (
CODIGO integer ,
DATAINICIAL TIMESTAMP,
DATAFINAL TIMESTAMP,
NOME_PREFEITO VARCHAR(60),
END_PREFEITO VARCHAR (50),
BAIRRO_PREFEITO VARCHAR(30),
CIDADE_PREFEITO VARCHAR(40),
CEP_PREFEITO VARCHAR(9),
UF_PREFEITO VARCHAR(2),
FONE_PREFEITO VARCHAR(13),
NOME_VICE VARCHAR(60),
END_VICE VARCHAR(50),
BAIRRO_VICE VARCHAR(30),
CIDADE_VICE VARCHAR(40),
CEP_VICE VARCHAR(9),
TIPO INTEGER,
UF_VICE VARCHAR(20),
FONE_VICE VARCHAR(13))
AS
declare variable SEQ Integer;
BEGIN
IF (TIPO = 1) THEN
BEGIN
SELECT GEN_ID(GEN_PREFEITO,1) FROM RDB$DATABASE INTO :SEQ;
INSERT INTO PREFEITO(CODIGO,DATAINICIAL,DATAFINAL,NOME_PREFEITO,END_PREFEITO,BAIRRO_PREFEITO,CIDADE_PREFEITO,
CEP_PREFEITO,UF_PREFEITO,FONE_PREFEITO,NOME_VICE,END_VICE,BAIRRO_VICE,CIDADE_VICE,CEP_VICE,UF_VICE,FONE_VICE)
VALUES
(:SEQ,:DATAINICIAL,:DATAFINAL,:NOME_PREFEITO,:END_PREFEITO,:BAIRRO_PREFEITO,:CIDADE_PREFEITO,:CEP_PREFEITO,:UF_PREFEITO,:FONE_PREFEITO,:NOME_VICE,:END_VICE,:BAIRRO_VICE,:CIDADE_VICE,:CEP_VICE,:UF_VICE,:FONE_VICE);
SUSPEND;
END
****************************************ERRO LINHA 36 CHAR 1
IF (TIPO=2) THEN
BEGIN
UPDATE PREFEITO SET
DATAINICIAL =: DATAINICIAL
DATAFINAL =: DATAFINAL,
NOME_PREFEITO=:NOME_PREFEITO,
END_PREFEITO =: END_PREFEITO,
BAIRRO_PREFEITO=:BAIRRO_PREFEITO,
CIDADE_PREFEITO=:CIDADE_PREFEITO,
CEP_PREFEITO=:CEP_PREFEITO,
UF_PREFEITO=:UF_PREFEITO,
FONE_PREFEITO:=FONE_PREFEITO,
NOME_VICE=:NOME_VICE,
END_VICE=:END_VICE,
BAIRRO_VICE=:BAIRRO_VICE,
CIDADE_VICE=:CIDADE_VICE,
CEP_VICE=:CEP_VICE,
UF_VICE=:UF_VICE,
FONE_VICE=:FONE_VICE
WHERE
CODIGO=:CODIGO;
END
IF (TIPO=3) THEN
BEGIN
DELETE FROM PREFEITO WHERE CODIGO=:CODIGO;
SUSPEND;
END
END
^^
SET TERM^^
X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-
AGRADEÇO A QUEM PUDER AJUDAR.
UM ABRAÇO,
set term ^^;
CREATE PROCEDURE SP_PREFEITO (
CODIGO integer ,
DATAINICIAL TIMESTAMP,
DATAFINAL TIMESTAMP,
NOME_PREFEITO VARCHAR(60),
END_PREFEITO VARCHAR (50),
BAIRRO_PREFEITO VARCHAR(30),
CIDADE_PREFEITO VARCHAR(40),
CEP_PREFEITO VARCHAR(9),
UF_PREFEITO VARCHAR(2),
FONE_PREFEITO VARCHAR(13),
NOME_VICE VARCHAR(60),
END_VICE VARCHAR(50),
BAIRRO_VICE VARCHAR(30),
CIDADE_VICE VARCHAR(40),
CEP_VICE VARCHAR(9),
TIPO INTEGER,
UF_VICE VARCHAR(20),
FONE_VICE VARCHAR(13))
AS
declare variable SEQ Integer;
BEGIN
IF (TIPO = 1) THEN
BEGIN
SELECT GEN_ID(GEN_PREFEITO,1) FROM RDB$DATABASE INTO :SEQ;
INSERT INTO PREFEITO(CODIGO,DATAINICIAL,DATAFINAL,NOME_PREFEITO,END_PREFEITO,BAIRRO_PREFEITO,CIDADE_PREFEITO,
CEP_PREFEITO,UF_PREFEITO,FONE_PREFEITO,NOME_VICE,END_VICE,BAIRRO_VICE,CIDADE_VICE,CEP_VICE,UF_VICE,FONE_VICE)
VALUES
(:SEQ,:DATAINICIAL,:DATAFINAL,:NOME_PREFEITO,:END_PREFEITO,:BAIRRO_PREFEITO,:CIDADE_PREFEITO,:CEP_PREFEITO,:UF_PREFEITO,:FONE_PREFEITO,:NOME_VICE,:END_VICE,:BAIRRO_VICE,:CIDADE_VICE,:CEP_VICE,:UF_VICE,:FONE_VICE);
SUSPEND;
END
****************************************ERRO LINHA 36 CHAR 1
IF (TIPO=2) THEN
BEGIN
UPDATE PREFEITO SET
DATAINICIAL =: DATAINICIAL
DATAFINAL =: DATAFINAL,
NOME_PREFEITO=:NOME_PREFEITO,
END_PREFEITO =: END_PREFEITO,
BAIRRO_PREFEITO=:BAIRRO_PREFEITO,
CIDADE_PREFEITO=:CIDADE_PREFEITO,
CEP_PREFEITO=:CEP_PREFEITO,
UF_PREFEITO=:UF_PREFEITO,
FONE_PREFEITO:=FONE_PREFEITO,
NOME_VICE=:NOME_VICE,
END_VICE=:END_VICE,
BAIRRO_VICE=:BAIRRO_VICE,
CIDADE_VICE=:CIDADE_VICE,
CEP_VICE=:CEP_VICE,
UF_VICE=:UF_VICE,
FONE_VICE=:FONE_VICE
WHERE
CODIGO=:CODIGO;
END
IF (TIPO=3) THEN
BEGIN
DELETE FROM PREFEITO WHERE CODIGO=:CODIGO;
SUSPEND;
END
END
^^
SET TERM^^
X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-
AGRADEÇO A QUEM PUDER AJUDAR.
UM ABRAÇO,
Thaita
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)