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 [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
