Erro na Stored Procedure
Sera que alguem porderia me ajudar aonde estou errando errando na criação dessa SP
CREATE PROCEDURE UPD_INS_CLIENTES (
ID INTEGER,
NOME VARCHAR(50),
NASCIMENTO DATE,
SEXO CHAR(1))
AS
BEGIN
IF (EXISTS(SELECT ID FROM CLIENTES WHERE (ID = :ID))) THEN
UPDATE CLIENTES
SET NOME = :NOME,
NASCIMENTO = :NASCIMENTO,
SEXO = :SEXO
WHERE (ID = :ID);
ELSE
INSERT INTO CLIENTES (
ID,
NOME,
NASCIMENTO,
SEXO)
VALUES (
:ID,
:NOME,
:NASCIMENTO,
:SEXO);
End
CREATE PROCEDURE UPD_INS_CLIENTES (
ID INTEGER,
NOME VARCHAR(50),
NASCIMENTO DATE,
SEXO CHAR(1))
AS
BEGIN
IF (EXISTS(SELECT ID FROM CLIENTES WHERE (ID = :ID))) THEN
UPDATE CLIENTES
SET NOME = :NOME,
NASCIMENTO = :NASCIMENTO,
SEXO = :SEXO
WHERE (ID = :ID);
ELSE
INSERT INTO CLIENTES (
ID,
NOME,
NASCIMENTO,
SEXO)
VALUES (
:ID,
:NOME,
:NASCIMENTO,
:SEXO);
End
Tdqr
Curtidas 0
Respostas
Thomaz_prg
08/01/2006
Tente assim:
SET TERM ^ ; CREATE PROCEDURE UPD_INS_CLIENTES ( ID INTEGER, NOME VARCHAR(50), NASCIMENTO DATE, SEXO CHAR(1)) AS DECLARE VARIABLE QTD INTEGER; BEGIN SELECT COUNT(*) FROM CLIENTES WHERE ID = :ID INTO :QTD; IF (QTD > 0) THEN UPDATE CLIENTES SET NOME = :NOME, NASCIMENTO = :NASCIMENTO, SEXO = :SEXO WHERE (ID = :ID); ELSE INSERT INTO CLIENTES ( ID, NOME, NASCIMENTO, SEXO) VALUES ( :ID, :NOME, :NASCIMENTO, :SEXO); End ^ SET TERM ^ ;
GOSTEI 0