下面是通过这两个视图,查询出your_table的有外键的字段,以及外键指向的表
(r_constraint_name) SELECT a.r_constraint_name,b.column_name
from user_constraints a, user_cons_columns b
where a.table_name = 'your_table' and a.constraint_type='R'
and a.constraint_name=b.constraint_name
(r_constraint_name) SELECT a.r_constraint_name,b.column_name
from user_constraints a, user_cons_columns b
where a.table_name = 'your_table' and a.constraint_type='R'
and a.constraint_name=b.constraint_name
1、constraint_type的值为'R'的是受到其它表的约束还是其它表受它的约束(即在外键约束中它是主表还是从表)。
2、而且你说的可以查出外键指向的表,但我只看见select出来的是a.r_constraint_name和b.column_name,似乎没有外键所属的表名
3、如果我A表中有三个字段id, area_id, name;而B表中有两个字段area_id, area_name,而A表的area_id字段受到B表的area_id字段约束,请问如果我要用一个select语句选出A表中所有有外键约束的字段及,外键的所属表名,这个语句应如何写?
from user_constraints a, user_cons_columns b
where a.table_name = 'A' and a.constraint_type='R'
and a.constraint_name=b.constraint_name你可以先建立你所说的约束关系,再执行上面的SQL语句,应该可以得到
B, AREA_ID这样的结果。