Tabela A zawiera ograniczenie klucza obcego (typ) do tabeli B (id). Jednak typ nie jest pusty, a id jest null.Wyszukiwanie informacji o kolumnie klucza obcego Informacje między tabelami
Próbuję utworzyć kwerendę za pomocą informacji_schemat, która będzie wyglądać więzy klucza obcego i dopasować typy kolumn i kolumn zerowalnych, aby zobaczyć, czy są one synchronizowane, jednak mam problemy z logiką.
select kcu.table_name, kcu.column_name, c.column_type, c.is_nullable,kcu.referenced_table_name, kcu.referenced_column_name,c.column_type, c.is_nullable
from key_column_usage kcu
inner join columns c on c.table_schema=kcu.table_schema and c.column_name=kcu.column_name and c.table_name=kcu.table_name
where kcu.referenced_table_name='Table_B' and kcu.table_name='Table_A';
Wiem, że ta składnia jest niepoprawna - to wszystko, co udało mi się ze sobą zebrać. Chciałbym, aby to było możliwe do wykonania dla każdej tabeli w bazie danych i zlecić ją przez table_name, a następnie column_name. Może wykluczać kolumny, w których pola typu column_type i is_nullable są identyczne.
'refcol.column_type <> childcol.column_type' - Myślę, że nie powinno być możliwe. –
@Paul Spiegel dotyczące niedopasowanych typów danych, w których zażądano warunku. –