-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Saturday 09 August 2003 14:44, eVl One wrote: > So I need: > "silent delete" - i.e. when trying to DELETE row from A I'll not > fall out with "$1 referential integrity violation - key in A still > referenced from Bxx", but silently doesn't delete row ('cause run it > from function and need function to executes farther after delete); > "something to check reference" - system (potgresql) is very quickly > realizes that key is referenced from another table, maybe this > information may be accessed through some system relations, or so? > Thanx for attention.
You may want to check out the "ON DELETE" and "ON UPDATE" clauses of the FOREIGN KEY syntax. This will help you keep you data consistent. Otherwise, if you want to know what is referencing something, you'll have to query all of those tables. Your database structure should be well-defined and thought out, so you should be able to figure out what all is referencing it. If you need it for day-to-day queries, you may want to rethink your design. If you like, take a look at the pg_trigger table. The way PostgreSQL manages the foreign key references is through triggers. You may be able to identify which triggers are which, and from there, determine which tables are referencing which tables. - -- Jonathan Gardner <[EMAIL PROTECTED]> Live Free, Use Linux! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQE/ORn/WgwF3QvpWNwRAsJ5AJ9iGmopncQsyizb6yIh2CvCQsSmwQCg0UZ/ xImGLW35bdAJSuzCWc7yxBU= =eQGH -----END PGP SIGNATURE----- ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match