0
我想檢查是否film.language_id
是指language.language_id
。 我使用的代碼:Oracle約束檢查
SELECT *
FROM all_tab_columns
WHERE column_name = 'film.language';
結果:
no rows selected
這是否意味着沒有引用/引用約束?
我想檢查是否film.language_id
是指language.language_id
。 我使用的代碼:Oracle約束檢查
SELECT *
FROM all_tab_columns
WHERE column_name = 'film.language';
結果:
no rows selected
這是否意味着沒有引用/引用約束?
如果你想找出一個列是指由外鍵約束的另一列則可以做到以下幾點:
查明是否列在約束:
select constraint_name from user_cons_columns
where table_name='<Your_table>'
and column_name='<Your_column>';
如果這會給你那個約束的名字。 接下來,您可以看看這個約束是一個外鍵約束,如果外國關鍵點:
select constraint_type
,r_constraint_name
from user_constraints
where constraint_name='<your constraint name>';
如果約束是一個外鍵約束它的類型是「R」的。這也會給你外鍵所涉及的主鍵約束的名稱。
鑑於主鍵約束的名稱,你可以找到的表和列(S)如下:
select table_name
,column_name
from user_cons_columns
where constraint_name = 'Your PK constraint'
爲了讓生活更輕鬆,你可以加入所有這些查詢在一起。但我把這件事留給你。
它是否可以有多個約束類型。例如類型'P'和'R'的樣本? – Cornelis
film.language是列名嗎?它不是 –