W Oracle SQL Developer , jeśli przeglądam informacje w tabeli, mogę zobaczyć ograniczenia, które pozwalają mi zobaczyć klucze obce (a tym samym, do których tabel odwołuje się ta tabela), i mogę zobaczyć zależności, aby zobaczyć, co pakiety i takie odniesienia do tabeli. Ale nie jestem pewien, jak znaleźć, które tabele odnoszą się do tabeli.
Powiedzmy, że patrzę na emp
stół. Istnieje inna tabela, emp_dept
która przechwytuje, którzy pracownicy pracują, w których działach, która odwołuje się do emp
tabeli emp_id
, główny klucz emp
tabeli. Czy istnieje sposób (poprzez jakiś element interfejsu użytkownika w programie, a nie przez SQL), aby stwierdzić, że emp_dept
tabela odwołuje się do emp
tabeli, bez mojej wiedzy, że emp_dept
tabela istnieje?
źródło
Aby dodać to do SQL Developer jako rozszerzenie, wykonaj następujące czynności:
Dodaj rozszerzenie do SQL Developer:
Przejdź do dowolnej tabeli, a obok tabeli SQL powinna pojawić się dodatkowa karta, oznaczona jako Odwołania FK, która wyświetla nowe informacje o FK.
Odniesienie
źródło
and owner = :OBJECT_OWNER
wcześniejand exists
.describe books;
iselect * from books;
nie wyświetla karty odnośników fk na maszynie wirtualnej dewelopera Oracle SQL.Zamień [Your TABLE] na emp w zapytaniu poniżej
źródło
constraint_type in ('P','U')
jest zbyteczny, ponieważ jeśli typ ograniczenia TOTO ograniczenia to „R”, to nazwa ograniczenia R r TOTO jest oczywiście nazwą ograniczenia typu „P” LUB „U” w tabeli, do której się odwołuje. Nie ma potrzeby tego określać. UżywaszIN
, więc jest tak jak wiele,OR
a my troszczymy się tylko o jedyny operand z OR, który daje prawdę.Możesz wyświetlić zapytanie z tego
ALL_CONSTRAINTS
widoku:źródło
SQL Developer 4.1, wydany w maju 2015 r., Dodał kartę Model, która pokazuje klucze obce tabeli, które odnoszą się do twojej tabeli w formacie diagramu relacji encji.
źródło
Co powiesz na coś takiego:
źródło
dba_constraints
naall_constraints
podobną:SELECT c.constraint_name, c.constraint_type, c2.constraint_name, c2.constraint_type, c2.table_name FROM all_constraints c JOIN all_constraints c2 ON (c.r_constraint_name = c2.constraint_name) WHERE c.table_name = '<TABLE_OF_INTEREST>' AND c.constraint_TYPE = 'R';
źródło
To było w produkcie od lat - chociaż nie było go w produkcie w 2011 roku.
Ale po prostu kliknij stronę Model.
Upewnij się, że masz co najmniej wersję 4.0 (wydaną w 2013 r.), Aby uzyskać dostęp do tej funkcji.
źródło
Aby dodać do powyższej odpowiedzi dla wtyczki dewelopera sql, użycie poniższego xml pomoże w uzyskaniu powiązania kolumny z kluczem obcym.
źródło