Olá,
Estou migrando uma base de dados da versao 8.2.4 para 9.1 e estou me deparando 
com uma situação de “incompatibilidade” em uma trigger function.

No exemplo abaixo, os campos concatenados sao do tipo integer e do tipo 
varchar. 
O campo que recebe os dados concatenados é do tipo varchar.

Ao executar a function via trigger, recebo a mensagem:

“Error: operator does not exist: integer || integer at character 45
HINT: No Operator matches the given name and argument type( s). Yu might need 
to add explicit type casts.”


CREATE OR REPLACE FUNCTION gera_campo_row_custom()
  RETURNS trigger AS
$BODY$
DECLARE
BEGIN 
    IF NEW.campo_tipo_varchar IS NULL THEN
        update table_foo set campo_tipo_varchar = new.CODIGO1 || new.CODIGO2 || 
new.NUMERO || new.SERIE  where ....

onde temos:
codigo1,codigo2 e numero do tipo integer.
SERIE do tipo character varying(10).



Obrigado a todos.
Marcio.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a