Na criação desse gatilho, o erro abaixo é retornado:
 
ERRO: erro de sintaxe em ou próximo a "IF"SQL state: 42601
 
Todavia para que funcione o gatilho de inserção de autonumeração o que eu 
preciso (eu acho) é somente ler as transações ainda não commitadas;
para tanto eu tentei fazer desta forma:
 
CREATE OR REPLACE FUNCTION cli_gatilho()  RETURNS "trigger" AS$BODY$DECLARE  
V_CODIGO CLIENTES.CODIGO%TYPE;BEGIN -- SELECIONAR ULTIMO CODIGO SET TRANSACTION 
ISOLATION LEVEL READ UNCOMMITTED; SELECT INTO V_CODIGO MAX(CLIENTES.CODIGO) 
FROM CLIENTES; NEW.CODIGO:=V_CODIGO +1; RETURN NEW;
END;$BODY$  LANGUAGE 'plpgsql' VOLATILE;
O problema é que ao tentar inserir os dados na aplicação obtive o erro 
informando que SET TRANSACTION deve ser executado antes de uma consulta, mas 
acho que esse é o caminho...
 
Atenciosamente,
 

ADENILTON Batista da Silva       Index Informática LTDA     (79)3431-3234 / 
9142-0886   [EMAIL PROTECTED]


Date: Tue, 25 Mar 2008 08:13:24 -0300From: [EMAIL PROTECTED]: [EMAIL 
PROTECTED]: Re: [pgbr-geral] Campos com Autoincremento (Como resolver o 
problema dos Buracos)Não seria o caso de :Gatilho: CREATE TRIGGER cli_gatilho  
after INSERT  ON clientes  FOR EACH ROW  if codigo = 0 then     EXECUTE 
PROCEDURE cli_gatilho();Eu faria assim na aplicação cliente sempre colocaria o 
valo 0 (zero) na chave veja 0 <> null.e só depois do commit pegava o código. 
Não testei mas acho que dá certo.-- Silfar Goulart 
_________________________________________________________________
Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o 
Messenger! É GRÁTIS!
http://www.msn.com.br/emoticonpack
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a