Versuch zu löschen (mit Foreign Key)

Hallo Forum,

ich möchte prüfen, ob es möglich ist Daten zu löschen.

Ich habe eine Tabelle Kunden und eine Tabelle Aufträge. Die KundenNr aus der Auftragstabelle hat eine Reference auf die Kundentabelle.
Wenn ich versuche einen Kunden zu löschen den es noch in der Auftragstabelle gibt geht das logo nicht. Das ist auch soweit alles OK

Jetzt möchte ich allerdings nur prüfen, ob es möglich wäre den Kunden zu löschen ohne ihn wirklich zu löschen

Gibt es eine Möglichkeit in Postgres eine Abfrage zu schreiben, die das lediglich prüft?

Der Grund dafür ist, dass es noch einige andere Tabellen im System gibt die mit der Kundentabelle verbunden sind und ich mir das “händische” prüfen der Tabellen ersparen möchte

LG

test=*# select * from kunden ;
 kundennr 
----------
        1
        2
(2 rows)

test=*# select * from auftrag ;
 kundennr 
----------
        2
(1 row)

test=*# select * from kunden left join auftrag on kunden.kundennr = auftrag.kundennr where auftrag.kundennr is null;
 kundennr | kundennr 
----------+----------
        1 |         
(1 row)

test=*# select * from kunden left join auftrag on kunden.kundennr = auftrag.kundennr where auftrag.kundennr is null and kunden.kundennr = 1;
 kundennr | kundennr 
----------+----------
        1 |         
(1 row)

test=*# select * from kunden left join auftrag on kunden.kundennr = auftrag.kundennr where auftrag.kundennr is null and kunden.kundennr = 2;
 kundennr | kundennr 
----------+----------
(0 rows)

test=*# 

hilft das weiter?

Leider nicht ganz. Das ist der “händsiche” Weg den ich vermeiden wollte.
Hier müsste ich alle anderen Tabellen auch noch prüfen (Das macht aber die Datenbank ja von sich aus, wenn ich versuche einen Kunden zu löschen. Hier wird ja auf die Verknüfpten Tabellen hingewiesen)
Dann kann man entscheiden, will ich den Kunden aus der verknüpften Tabelle löschen um dann den Kunden zu löschen.
Das Problem ist, ich kenne nicht alle Tabellen die Kundendaten enthalten. Es können täglich neue dazukommen. Sowas wie in Try … löschen, wobei der eigentliche Löschbefehl nciht ausgeführt wird

Super Danke … ich glaube das ist genau das was ich suche