Fórum Novo erro ao criar stored procedure #57512

20/12/2006

0

[color=red:20acbffb53]Título editado por Massuda Por favor, não use apenas letras maiúsculas no título/texto. No caso de reincidência, seus tópicos poderão vir a ser bloqueados. Leia as :arrow: [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.[/color:20acbffb53]

Meus prezados,
Agora aparece o erro baixo.Podem me ajudar?
Dynamic SQL Error
SQL error code = -104
Token unknown - line 24, char 3
WHEN
Statement: CREATE PROCEDURE SP_PRODUTOR (
codigo varchar( 8 ),
nome varchar(80),
municipio varchar(80),
emissaopropria char(1),
areatotal numeric(18,2),
tipo integer)
as
BEGIN
if (:tipo = 1) then
begin
INSERT INTO PRODUTOR (
CODIGO,
NOME,
MUNICIPIO,
EMISSAOPROPRIA,
AREATOTAL)
VALUES (
:CODIGO,
:NOME,
:MUNICIPIO,
:EMISSAOPROPRIA,
:AREATOTAL)
WHEN SQLCODE -803 DO
EXCEPTION DUPLICIDADE;
end
else
if (:tipo = 2) then
UPDATE PRODUTOR
SET
NOME = :NOME,
MUNICIPIO = :MUNICIPIO,
EMISSAOPROPRIA = :EMISSAOPROPRIA,
AREATOTAL = :AREATOTAL
WHERE
CODIGO = :CODIGO;
else
if (:tipo = 3) then
DELETE FROM PRODUTOR
WHERE CODIGO = :CODIGO;
END


Thaita

Thaita

Responder

Posts

20/12/2006

Sremulador

CREATE PROCEDURE SP_PRODUTOR ( 
codigo varchar( 8 ), 
nome varchar(80), 
municipio varchar(80), 
emissaopropria char(1), 
areatotal numeric(18,2), 
tipo integer) 
as 
BEGIN 
if (:tipo = 1) then 
begin 
INSERT INTO PRODUTOR ( 
CODIGO, 
NOME, 
MUNICIPIO, 
EMISSAOPROPRIA, 
AREATOTAL) 
VALUES ( 
:CODIGO, 
:NOME, 
:MUNICIPIO, 
:EMISSAOPROPRIA, 
:AREATOTAL) 
end 
else 
if (:tipo = 2) then 
UPDATE PRODUTOR 
SET 
NOME = :NOME, 
MUNICIPIO = :MUNICIPIO, 
EMISSAOPROPRIA = :EMISSAOPROPRIA, 
AREATOTAL = :AREATOTAL 
WHERE 
CODIGO = :CODIGO; 
else 
if (:tipo = 3) then 
DELETE FROM PRODUTOR 
WHERE CODIGO = :CODIGO; 
END



Responder

Gostei + 0

21/12/2006

Emerson Nascimento

antes do WHEN precisa ter um ponto-e-vírgula (;) finalizando o comando insert.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar