Ich habe eine Einschränkung namens users.SYS_C00381400
. Wie finde ich diese Einschränkung? Gibt es eine Möglichkeit, alle Einschränkungen abzufragen?
sql
oracle
constraints
David Oneill
quelle
quelle
Antworten:
Wie alle Datenwörterbuchansichten ist dies eine USER_CONSTRAINTS-Ansicht, wenn Sie nur Ihr aktuelles Schema überprüfen möchten, und eine DBA_CONSTRAINTS-Ansicht für Administrationsbenutzer.
Die Konstruktion des Einschränkungsnamens gibt einen vom System generierten Einschränkungsnamen an. Zum Beispiel, wenn wir in einer Tabellendeklaration NOT NULL angeben. Oder in der Tat ein Primär- oder eindeutiger Schlüssel. Beispielsweise:
'C'
zur Kontrolle,'P'
für die Grundschule.Im Allgemeinen ist es eine gute Idee, relationalen Einschränkungen einen expliziten Namen zu geben. Wenn die Datenbank beispielsweise einen Index für den Primärschlüssel erstellt (was der Fall ist, wenn diese Spalte noch nicht indiziert ist), wird der Einschränkungsname oder der Name des Index verwendet. Sie möchten keine Datenbank voller Indizes mit dem Namen wie
SYS_C00935191
.Um ehrlich zu sein, machen sich die meisten Leute nicht die Mühe, NOT NULL-Einschränkungen zu benennen.
quelle
Um eine detailliertere Beschreibung zu erhalten (welche Tabelle / Spalte auf welche Tabelle / Spalte verweist), können Sie die folgende Abfrage ausführen:
Von hier aus .
quelle
Vielleicht kann das helfen ..
quelle