CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

如何获得外键约束的详细信息?

楼主wqhhust(wqh)2003-09-02 23:01:24 在 Oracle / 开发 提问

all_constraints表只是描述了一般的约束信息,比如是外键还是check等等,但我得到外键关联的详细信息,比如关联父表的“哪一个字段”。  
        假如已经知道该外键约束为   fk_con,怎样查到其详细信息。对不起,有点罗嗦,希望说明白了  
  问题点数:0、回复次数:7Top

1 楼BlueskyWide(谈趣者)回复于 2003-09-03 08:34:52 得分 0

参考一下,也许有所帮助。  
  http://expert.csdn.net/Expert/topic/2151/2151488.xml?temp=.660763Top

2 楼jiezhi(风满袖)回复于 2003-09-03 08:47:46 得分 0

http://expert.csdn.net/Expert/topic/2197/2197337.xml?temp=.6889307Top

3 楼jiezhi(风满袖)回复于 2003-09-03 08:48:31 得分 0

SQL>   desc   dict  
    名称                                                                             是否为空?   类型  
    -----------------------------------------   --------   -----------  
    TABLE_NAME                                                                                   VARCHAR2(30  
    COMMENTS                                                                                       VARCHAR2(40  
   
  SQL>   select   *   from   dict   where   instr(comments,'constr')>0;  
   
  TABLE_NAME  
  ------------------------------  
  COMMENTS  
  ---------------------------------------------------------------  
  ALL_CONS_COLUMNS  
  Information   about   accessible   columns   in   constraint   definitions  
   
  DBA_CONS_COLUMNS  
  Information   about   accessible   columns   in   constraint   definitions  
   
  USER_CONS_COLUMNS  
  Information   about   accessible   columns   in   constraint   definitions  
   
   
  找到外鍵:  
    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_nameTop

4 楼beckhambobo(beckham)回复于 2003-09-03 11:23:07 得分 0

select   *   from   user_constraints   WHERE   R_CONSTRAINT_NAME='FK_CON';Top

5 楼wqhhust(wqh)回复于 2003-09-03 22:39:59 得分 0

jiezhi:  
        你的方法只能找到外键的名称,相关表明但不能找到该外键关联那个表,对于以下外键  
  alter   table   TEST  
      add   constraint   FP   foreign   key   (child)  
      references   TEST1   (parent);  
  我想得到外键的   Test1,以及parent信息。而不仅仅是test和child信息。  
  用user_cons_columns   ,user_constraints   只能找到test和childTop

6 楼l2g32003(lg)回复于 2003-09-03 23:57:05 得分 0

select   a.OWNER   用户名,  
                  a.TABLE_NAME   表名,  
                  b.COLUMN_NAME   列名  
    from   USER_CONSTRAINTS   a,USER_CONS_COLUMNS   b  
    where   a.CONSTRAINT_NAME=(select   R_CONSTRAINT_NAME   from   USER_CONSTRAINTS  
                                                                    where   USER_CONSTRAINTS.CONSTRAINT_NAME='CHILD')  
                and   a.CONSTRAINT_NAME=b.CONSTRAINT_NAME  
    /Top

7 楼wangxt(海贝)回复于 2003-12-14 11:55:50 得分 0

 
  --   查询外键约束(查某表的所有父表)  
  select   c.constraint_name,cc.column_name,rcc.owner,rcc.table_name,rcc.column_name  
  from   user_constraints   c,user_cons_columns   cc,user_cons_columns   rcc  
  where   c.owner='SALIEN_SBGL'  
  and   c.table_name='JH_NDGXLGJH_TB'  
  and   c.constraint_type='R'  
  and   c.owner=cc.owner  
  and   c.constraint_name=cc.constraint_name  
  and   c.r_owner=rcc.owner  
  and   c.r_constraint_name=rcc.constraint_name  
  and   cc.position=rcc.position  
  order   by   c.constraint_name,cc.position;  
   
  --查询连接到某表的所有外键(查某表的所有子表)  
  select   rcc.owner,rcc.table_name,rcc.constraint_name,rcc.column_name,c.table_name,c.constraint_name,cc.column_name      
  from   user_constraints   c,user_cons_columns   cc,user_cons_columns   rcc  
  where   lower(c.owner)='d7i'  
  and   rcc.table_name='R5HOME'  
  and   c.constraint_type='R'  
  and   c.owner=cc.owner  
  and   c.constraint_name=cc.constraint_name  
  and   c.r_owner=rcc.owner  
  and   c.r_constraint_name=rcc.constraint_name  
  and   cc.position=rcc.position  
  order   by   c.constraint_name,cc.position  
   
   
   
  --   查询主键唯一键约束  
  select   c.constraint_name,c.constraint_type,cc.column_name  
  from   user_constraints   c,user_cons_columns   cc  
  where   c.owner='SALIEN_SBGL'  
  and   c.table_name='JH_NDGXLGJH_TB'  
  and   c.owner=cc.owner  
  and   c.constraint_name=cc.constraint_name  
  and   c.constraint_type   in   ('P','U')  
  order   by   c.constraint_type,c.constraint_name,cc.position;  
   
  Top

相关问题

  • 它的后边这几个约束列的详细信息是什么呢?
  • 请问如何得到一个表的键的详细信息?
  • 如何能够获得客户机上IE版本号和操作系统以及其它详细信息
  • ~如何像任务管理器一样,获得每一个进程的详细信息?
  • 异常详细信息: System.Web.HttpRequestValidationException
  • 有的难:我要从系统表中(或其他视图..)怎样读取一个表定义的默认约束,唯一约束的详细信息!怎么做到?
  • 谁有RealPlay格式详细信息
  • 如何知道OS的详细信息
  • 谁有TreeView 使用的详细信息?
  • 怎么获得键名(不是字段名),用来改约束用(access)

关键词

  • .net
  • constraint
  • rcc
  • columnsinformation
  • 外键
  • 约束
  • cons
  • 详细信息
  • 表
  • column

得分解答快速导航

  • 帖主:wqhhust

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo