1。如何获得某个表的主键,主键名称以及对应的字段名
2。有没有只使用主键名称检索 
  例如:类似的写法   Select <主键> From Table

解决方案 »

  1.   

    SELECT * FROM user_constraints
    WHERE table_name = UPPER('table_name')
    AND constraint_type = 'P'
      

  2.   

    一楼说的对,不过这样只是或得了表上的主键应当使用user_constraints以及user_col_constraints两张表的联合查询,才可以获得主键约束是在表上的那些列上,注:应当从user_constraints表中查出约束名称、表名,然后从user_col_constraints表中查出这个约束对应那些表中的列。
      

  3.   

    select m.table_name,m.column_name,n.constraint_type 
    from user_cons_columns m,user_constraints n 
    where m.constraint_name=n.constraint_name
    and n.constraint_type = 'P'
      

  4.   

    向楼上两位学习。SELECT m.table_name,m.column_name,n.constraint_type 
    FROM user_cons_columns m,user_constraints n 
    WHERE m.constraint_name=n.constraint_name
    AND n.constraint_type = 'P'
    AND n.table_name = UPPER('your table name')
      

  5.   

    oracle的字典表的确比sqlserver的人性化多了.
      

  6.   

    select a.OWNER            用户名,
     a.CONSTRAINT_NAME  约束名称,
     a.CONSTRAINT_TYPE  约束类型,
     a.TABLE_NAME       表名,
     b.COLUMN_NAME      列名,
     a.SEARCH_CONDITION 约束内容
    from USER_CONSTRAINTS a, USER_CONS_COLUMNS b
     where a.table_name = '表名'
     and a.CONSTRAINT_TYPE = 'P'
    --  and a.table_name = b.table_name
     and a.constraint_name = b.constraint_name