Ich habe die folgende Abfrage Fremdschlüssel Details zurück:Wie Abfrage für Fremdschlüssel onupdate/ondelete?
SELECT
tc.constraint_name,
tc.table_name,
kcu.column_name,
ccu.table_schema AS foreign_table_schema,
ccu.table_name AS foreign_table_name,
ccu.column_name AS foreign_column_name,
pg_catalog.pg_get_constraintdef(pg_constraint.oid, true) AS foreign_definition
FROM
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu
ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu
ON ccu.constraint_name = tc.constraint_name
JOIN pg_constraint
ON pg_constraint.conname = tc.constraint_name
WHERE constraint_type = 'FOREIGN KEY'
Daraus ich die meisten Informationen bekommen kann ich ein Fremdschlüssel wieder consturct müssen. Das einzige, was fehlt ist das On-Update & auf löschen Informationen (obwohl dies aus dem foreign_definition
analysiert werden kann). Ich habe versucht, einen Weg zu finden, diese Details zu erhalten, ohne es zu analysieren, aber bisher hatte ich kein Glück.
Hat jemand irgendwelche Details auf welcher Tabelle kann ich die on-update und Details löschen finden?
Dies ist speziell für Postgres.
haben Sie versuchen 'information_schema.referential_constraints'? .. gibt es zwei Spalten' 'update_rule' und delete_rule' –