database – 如何从Oracle视图中发现基础主(或唯一)键列
发布时间:2020-12-12 13:51:21 所属栏目:百科 来源:网络整理
导读:我想知道是否有可能发现Oracle视图中涉及的所有表的基础主(或唯一)键列.这是一个显示我的意思的例子: CREATE TABLE t_a ( id number(7),primary key(id));CREATE VIEW v_a ASSELECT * FROM t_a; 因此,通过命名约定,我知道v_a.id实际上是底层t_a表的主键列.
我想知道是否有可能发现Oracle视图中涉及的所有表的基础主(或唯一)键列.这是一个显示我的意思的例子:
CREATE TABLE t_a ( id number(7),primary key(id) ); CREATE VIEW v_a AS SELECT * FROM t_a; 因此,通过命名约定,我知道v_a.id实际上是底层t_a表的主键列.有没有办法使用系统视图正式发现这些信息,如SYS.ALL_CONSTRAINTS,SYS.USER_CONSTRAINTS等? N.B: >约束不在视图上,而是在基础表上. SQL> CREATE TABLE t_a 2 ( id number(7) 3,primary key(id) 4 ) 5 / Table created. SQL> CREATE VIEW v_a AS SELECT * FROM t_a 2 / View created. SQL> select c.constraint_name 2 from user_dependencies d 3,all_constraints c 4 where d.name = 'V_A' 5 and d.referenced_type = 'TABLE' 6 and d.referenced_link_name is null 7 and d.referenced_owner = c.owner 8 and d.referenced_name = c.table_name 9 and c.constraint_type = 'P' 10 / CONSTRAINT_NAME ------------------------------ SYS_C0051559 1 row selected. 问候, 编辑:对于可能的视图列名称,您可以使用此查询.请注意,您无法保证视图中存在此类列. SQL> select c.constraint_name 2,'V_' || substr(c.table_name,3) || '.' || cc.column_name possible_view_column 3 from user_dependencies d 4,all_constraints c 5,all_cons_columns cc 6 where d.name = 'V_A' 7 and d.referenced_type = 'TABLE' 8 and d.referenced_link_name is null 9 and d.referenced_owner = c.owner 10 and d.referenced_name = c.table_name 11 and c.constraint_type = 'P' 12 and c.owner = cc.owner 13 and c.constraint_name = cc.constraint_name 14 / CONSTRAINT_NAME POSSIBLE_VIEW_COLUMN ------------------------------ ------------------------------------------------------------- SYS_C0051561 V_A.ID 1 row selected. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 如何将Ruby升级到2.0
- Flex3Flex4的list组件设置滚动条偏移量&显示
- ruby-on-rails – 将Rails中的CSV文件和进程记录
- flex builder 4.6 for Apple iOS应用程序打包(M
- 聚合索引(clustered index) / 非聚合索引(nonclu
- XML三部曲之一—基础
- c# – ASP.NET System.Web.Optimization:捆绑jQ
- ruby-on-rails – 尝试安装橡胶宝石,Nokogiri搞砸
- Vue.js分页组件实现:diVuePagination的使用详解
- ruby-on-rails – 学习黄瓜和RSpec的好资源?
热点阅读