Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sedsoft

Problema na criação de Procedure

Recommended Posts

Caros amigos estou com um problema na criação de uma procedure. Em outros servidores não tenho esse problema, porém um cliente novo já tinha website e só fui tentar criar as procedures que meu software precisa. Abaixo envio o código da procedure.

create procedure ins_etapas(
vl_etapa_id int(8),
vl_etapa int(8),
vl_metodo_id int(8),
vl_dt_inicio date,
vl_dt_fim date
)
not deterministic
sql security definer
comment 'verifica se o registro ja existe antes de inserir/editar.'
begin

if exists(select etapa_id from i_etapas where etapa_id = vl_etapa_id) then
  update i_etapas set
  etapa = vl_etapa,
  metodo_id = vl_metodo_id,
  dt_inicio = vl_dt_inicio,
  dt_fim = vl_dt_fim
  where etapa_id=vl_etapa_id;
else
  insert into i_etapas(etapa_id, etapa, metodo_id, dt_inicio, dt_fim) values (
  vl_etapa_id, vl_etapa, vl_metodo_id, vl_dt_inicio, vl_dt_fim);
end if;

end;

E abaixo o erro que o phpmyadmin está retornando

 

Erro

Query SQL: dot.gif

CREATE PROCEDURE ins_etapas( vl_etapa_id INT( 8 ) , vl_etapa INT( 8 ) , vl_metodo_id INT( 8 ) , vl_dt_inicio DATE, vl_dt_fim DATE ) NOT DETERMINISTIC SQL SECURITY DEFINER COMMENT'verifica se o registro ja existe antes de inserir/editar.' BEGIN IF EXISTS (

SELECT etapa_id
FROM i_etapas
WHERE etapa_id = vl_etapa_id

)
THEN
UPDATE i_etapas SET etapa = vl_etapa,
metodo_id = vl_metodo_id,
dt_inicio = vl_dt_inicio,
dt_fim = vl_dt_fim WHERE etapa_id = vl_etapa_id;

Mensagem do MySQL: dot.gif

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 19

Agradeço bastante a ajuda de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.