[pgbr-geral] Problemas com Trigger
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
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