Erro com funções no postgresql

0 respostas
Mariana.Vecci
Oii gente, to tentando fazer duas funções em sql, uma para inserir um usuario, verificando se o mesmo ja existe e outra que atualiza a password dele, acusando tb se errar algum campo, mas não to conseguindo: Obrigadaa! Inserir:
CREATE OR REPLACE FUNCTION inserir_usuario (varchar(30), varchar(10), varchar(20), varchar(8))
 RETURNS varchar AS
$body$
DECLARE 
 existe integer;
 ecount integer;
BEGIN
     existe:=0;
     SELECT count(*) INTO ecount FROM Usuario WHERE nick_u=$2 OR email_u=$3;
     if existe=0 then
      INSERT INTO Usuario (nome_u, nick_u, email_u, pass_u) VALUES ($1,$2,$3,$4);
      RETURN $4; 
     else
      existe:=1; 
      RAISE NOTICE 'ja existe';
     end if; 
END;
$body$

LANGUAGE 'plpgsql';
alterar usuario:
CREATE OR REPLACE FUNCTION atualizar_usuario (varchar(30), varchar(10), varchar(20), varchar(8))
 RETURNS integer AS
$body$
DECLARE
 existe integer;
 ecount integer;
BEGIN
 existe:=0;
 SELECT count(*) INTO ecount FROM Usuario WHERE nome_u=$1 AND nick_u=$2 AND email_u=$3;
  if existe = 0 then
   UPDATE Usuario 
   SET pass_u = $4 
   WHERE nome_u=$1 AND nick_u=$2 AND email_u=$3;
   return $4;
  else 
   existe:=1;
   raise notice 'erro';
  end if;	
END;
$body$
LANGUAGE 'plpgsql';
Criado 13 de junho de 2011
Respostas 0
Participantes 1