Обсуждение: PL/pgSQL Trigger - Variable for shema? Like TG_RELNAME
Hello, while my trigger is fired, I can access the variable "TG_RELNAME" to get the name of the table that is updated. How will I get the name of the shema this table is stored? Thank you, Christian
am 31.10.2005, um 10:47:50 +0100 mailte Christian Hofmann folgendes:
> Hello,
>
> while my trigger is fired, I can access the variable "TG_RELNAME" to get the
> name of the table that is updated.
> How will I get the name of the shema this table is stored?
You have the TG_RELNAME:
SELECT nspname FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = TG_RELNAME;
>
> Thank you,
Thanks to itsMe_ in #postgresql ;-)
(IRC-Channel)
11:32 < akretschmer> Hi, i have a table-oid and need to know the schema-name. What can i do?
11:43 < itsMe_> akretschmer: SELECT nspname FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace WHERE
c.relname=
'tablename';
HTH, Andreas
--
Andreas Kretschmer (Kontakt: siehe Header)
Heynitz: 035242/47212, D1: 0160/7141639
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
=== Schollglas Unternehmensgruppe ===
Hello Anreas, > You have the TG_RELNAME: > > SELECT nspname FROM pg_class c JOIN pg_namespace n ON n.oid = > c.relnamespace WHERE c.relname = TG_RELNAME; Thank you. But when I habe more than one table in different shemas with the same name? > 11:32 < akretschmer> Hi, i have a table-oid and need to know > the schema-name. What can i do? > 11:43 < itsMe_> akretschmer: SELECT nspname FROM pg_class c > JOIN pg_namespace n ON n.oid = c.relnamespace WHERE c.relname = > 'tablename'; Yes, I will take the table-oid to get the shema name. Thats a better idea. I thought there were a variable the shema is stored in. So I need an extra query. But it is ok. Thank you, Christian
On Mon, Oct 31, 2005 at 12:04:17PM +0100, Christian Hofmann wrote: > > You have the TG_RELNAME: > > > > SELECT nspname FROM pg_class c JOIN pg_namespace n ON n.oid = > > c.relnamespace WHERE c.relname = TG_RELNAME; > > Thank you. But when I habe more than one table in different shemas with the > same name? Use "WHERE c.oid = TG_RELID" instead of "WHERE c.relname = TG_RELNAME". -- Michael Fuhr