Re: [postgresql-it] R: [pl/pgsql-Trigger] estrarre il valore di una colonna arbitraria da NEW

  • From: Maurizio <junkhead@xxxxxxxxx>
  • To: postgresql-it <postgresql-it@xxxxxxxxxxxxx>
  • Date: Tue, 08 Apr 2008 10:28:04 +0200

Sfortunatamente il mio problema è più complesso, i nomi dei campi su cui voglio agire vengono ricavati dal pg_catalog
(sono le indici di alcune tabelle su qui devo effettuare un ulteriore controllo di coerenza temporale) la soluzione da te proposta è un pò troppo laboriaosa
da adattare al mio db perche le tabelle sono oltre 200 in continuo aumento...
Possso ricavami il nome o oid di tali campi al interno di una variabile ma nulla più....

Mi sa che non se esce....
Se qualcuno ha un lampo di genio ben accetto
saluti maurizio




Manera, Villiam ha scritto:

Io ho avuto un problema simile, diversi trigger su diverse tabelle che 
richiamioano una unica funzione:

                if tg_table_name in ('cliente_as','test_buono_prelievo') then 
_capoc := new.capoconto;
                else _capoc := new.capoc;
                end if;

Nella variabile tg_table_name so da quale tabella è scattato il trigger e di 
conseguenza il nome della colonna da utilizzare,
E in questo modo funziona, non se faccia proprio al caso tuo..

Villiam

-----Messaggio originale-----
Da: postgresql-it-bounces@xxxxxxxxxxxxx 
[mailto:postgresql-it-bounces@xxxxxxxxxxxxx] Per conto di Maurizio
Inviato: martedì 8 aprile 2008 10.01
A: postgresql-it@xxxxxxxxxxxxx
Oggetto: [postgresql-it] [pl/pgsql-Trigger] estrarre il valore di una colonna 
arbitraria da NEW


Salve o il seguente problema:
Sto crendo una funzione di trigger in pl/pgsql da applicare a più tabelle con struttura diversa.
Riesco a ricavarmi dal catalogo il nome della colonna che mi interessa (diversa per ogni tabella) e metterla dentro una variabile:

q_field:='nome_campo';

voglio estrarre dal record NEW passato dal trigger il valore della colonna 'nome_campo' e metterlo dentro una nuova variabile...

n_var:=NEW.q_field;

ma aime non funzia :(

Qualcuno a qualche suggerimento?
grazie in anticipo
Maurizio


_______________________________________________
Postgresql-it mailing list
Postgresql-it@xxxxxxxxxxxxx http://lists.psql.it/mailman/listinfo/postgresql-it
_______________________________________________
Postgresql-it mailing list
Postgresql-it@xxxxxxxxxxxxx
http://lists.psql.it/mailman/listinfo/postgresql-it





Other related posts: