logo       

Function & triggers: msg#00743

db.postgresql.brasil

Subject: Function & triggers

Não tenho muito experiencia em postgres, mas excelente em SQL, ao
portar um sistema entre estas bases, estou tendo problemas cons as
functions, pois não estou conseguindo construir as mesmas, baseando-
se na Função abaixo (esta criei fazendo pesquisas na Net, referente
as sintaxes)

CREATE FUNCTION AutenticaUsuario(varchar, varchar)
RETURNS varchar
AS
'
BEGIN SESSAO;
DECLARE
P_Nome ALIAS FOR $1;
P_Senha ALIAS FOR $2;

Cur_Usuarios CURSOR FOR
SELECT all * FROM TBL_USUARIOS
WHERE DT_INATIVACAO IS NULL
AND UPPER(LOGIN) = UPPER(P_Nome);

OPEN Cur_Usuarios;
FETCH FORWARD ALL FROM Cur_Usuarios
INTO :ID_USUARIO, :TENTATIVAS_LOGIN, :SENHA;

IF FOUND THEN

UPDATE TBL_USUARIOS_SESSAO
SET DATA_FIM = NOW()
WHERE ID_USUARIO = %ID_USUARIO
AND ISNULL(DATA_FIM);

IF UPPER(%SENHA) = UPPER(P_Senha) THEN

UPDATE TBL_USUARIOS
SET TENTATIVAS_LOGIN=0
WHERE ID_USUARIO = %ID_USUARIO;

INSERT INTO TBL_USUARIOS_SESSAO
(DATA_INICIO, ID_USUARIO)
VALUES (NOW(),%ID_USUARIO);
ELSE

UPDATE TBL_USUARIOS
SET TENTATIVAS_LOGIN = TENTATIVAS_LOGIN + 1,
DT_INATIVACAO = (CASE WHEN
TENTIVAS_LOGIN > 3 THEN NOW()
ELSE NULL)
WHERE ID_USUARIO = %ID_USUARIO;
ENDIF
ENDIF
CLOSE cur_Usuarios;
COMMIT SESSAO;'
LANGUAGE 'plpgsql'


1o. Erro Diz que eu não tenho a linguagem instalada 'plpgsql',
realmente não tenho, como instalar esta linguagem, pois sei que o
comando é create language e sei sua sintaxe, mas pelos exemplos
encontrados não consegui instala-las, alguem poderia me dar este
exemplo pratico para que eu possao criar esta "linguagem" em meu BD,
Tenho Conectiva 8 Rodando Postgres 7.2



Atenciosamnete


Paulo Sérgio


----------------------------------------------------------
Grupo PostgreSQL Brasil. Fundado em 1999.
Mensagens para: postgresql-br-EYaqaC9dFX8MqA7zqLjoiV/I71DsQ//L@xxxxxxxxxxxxxxxx
Desassociação:
postgresql-br-unsubscribe-EYaqaC9dFX8MqA7zqLjoiV/I71DsQ//L@xxxxxxxxxxxxxxxx
Site Web: http://br.groups.yahoo.com/group/postgresql-br


Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html





<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise