Hola,

Estoy creando una funcion de auditoria a base de triggers,

La tabla de auditoria entre otros campos tiene estos :

  tabla     character varying,    -- Nombre de tabla
  campos    character varying[],  -- Lista de campos del registro
  old_value character varying[],  -- Valores antiguos
  new_value character varying[],  -- Valores nuevos



Dentro del trigger obtengo fácilmente el nombre de tabla y el array con los campos:

tabla := TG_TABLE_NAME;

SELECT array(SELECT information_schema.columns.column_name::character varying FROM information_schema.columns WHERE information_schema.columns.table_name = TG_TABLE_NAME order by ordinal_position) INTO campos ;

Sin embargo tengo problemas con los registros OLD.* y NEW.*, los tipos de campo pueden ser de cualquier tipo y lo quiero cargar en old_value y new_value que son character varying[]



Gracias

Reply via email to