[pgbr-geral] Problemas com Trigger

2008-06-11 Thread Willian Jhonnes Lara dos Santos
Boa tarde, amigos...

Criei uma tabela de auditoria em meu sistema, mas estou encontrando problemas 
em compilar as triggers que disparam os logs. A função criada foi esta:

BEGIN
   INSERT INTO
  "SIG001LOG"
  (
  "LOG_USR",
  "LOG_TBL",
  "LOG_DTE",
  "LOG_HRE",
  "LOG_EVT"
  )
   VALUES
  (
  CURRENT_USER,
  'SIG001PER', 
  NOW(),
  NOW(),
  'ADICIONADA A PERMISSÃO PARA O USUÁRIO '||NEW.PER_USR||' ACESSAR 
O FORMULÁRIO '||NEW.PER_FRM||' DO PROGRAMA '||NEW.PER_APP||' COM STATUS 
'||NEW.PER_STS||'.'
  );
 RETURN NEW;
END;

A instrução é a seguinte:

INSERT INTO
   SIG001PER
   (
   "PER_USR",
   "PER_APP",
   "PER_FRM",
   "PER_STS"
   )
VALUES
   (
   'WILLIAN',
   'SIG/FOLHA',
   'UFOL002',
   1
   );

O erro retornado é: "O record NEW não tem um valor PER_USR."

Independentemente de ser executada antes ou depois da instrução, a trigger 
retorna este erro.

Alguém tem alguma idéia doq seja???

[]'s

Willian Jhonnes L. dos Santos
Analista / Desenvolvedor Object/Free Pascal


  Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Problemas com Trigger

2008-06-11 Thread Osvaldo Rosario Kussama
Willian Jhonnes Lara dos Santos escreveu:
> Boa tarde, amigos...
> 
> Criei uma tabela de auditoria em meu sistema, mas estou encontrando problemas 
> em compilar as triggers que disparam os logs. A função criada foi esta:
> 
> BEGIN
>INSERT INTO
>   "SIG001LOG"
>   (
>   "LOG_USR",
>   "LOG_TBL",
>   "LOG_DTE",
>   "LOG_HRE",
>   "LOG_EVT"
>   )
>VALUES
>   (
>   CURRENT_USER,
>   'SIG001PER', 
>   NOW(),
>   NOW(),
>   'ADICIONADA A PERMISSÃO PARA O USUÁRIO '||NEW.PER_USR||' ACESSAR 
> O FORMULÁRIO '||NEW.PER_FRM||' DO PROGRAMA '||NEW.PER_APP||' COM STATUS 
> '||NEW.PER_STS||'.'
>   );
>  RETURN NEW;
> END;
> 
> A instrução é a seguinte:
> 
> INSERT INTO
>SIG001PER
>(
>"PER_USR",
>"PER_APP",
>"PER_FRM",
>"PER_STS"
>)
> VALUES
>(
>'WILLIAN',
>'SIG/FOLHA',
>'UFOL002',
>1
>);
> 
> O erro retornado é: "O record NEW não tem um valor PER_USR."
> 
> Independentemente de ser executada antes ou depois da instrução, a trigger 
> retorna este erro.
> 
> Alguém tem alguma idéia doq seja???
> 


Olhe a definição da tabela SIG001PER. O PostgreSQL concluiu que não 
existe o campo "PER_USR".
Como você está usando identificadores entre aspas recomendo que veja 
no manual as regras específicas que se aplicam a este tipo de 
identificadores.
http://www.postgresql.org/docs/current/interactive/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral