例如:有一张User表
表内有一字段:AAB001
该字段的取值描述如下:
取值    描述
1     正常用户
2     临时用户
3     注销用户
4     封存用户怎么才能查询该字段AAB001的取值范围和描述,查询结果类似于:
User         AAB001             1            正常用户
User         AAB001             2            临时用户
User         AAB001             3            注销用户
User         AAB001             4            封存用户

解决方案 »

  1.   

    你说的是注释啊,那就不清楚了,好像只能用comment来注释而已,然后直接把枚举的描述都筛进去,坐等高手吧。
      

  2.   

    select * from dba_col_comments where table_name = 'USER'
      

  3.   

    select * from dba_col_comments where table_name = 'A1'
    SELECT * FROM USER_COL_COMMENTS where table_name = 'USER'
      

  4.   

    对于某一列的注释保存在sys.com$一个字段comment$(varchar2(4000))中,不可能显示为一个表格。
    也就是表列与注释不是一对多的关系,是一对一的关系。通过user_col_comments、all_col_comments、dba_col_comments字典视图可以查看列上的释。
    通过user_tab_comments、all_tab_comments、dba_tab_comments字典视图可以查看表上的释。
      

  5.   


    ..._col_comments 和 ..._tab_comments 的注释是只针对列和表的注释,但是并没有对列取值的详细描述(这里,也有可能在描述列的注释的时候,详细包含取值描述),但我是这样想的,在创建表的时候,对表的某列取值范围有明确限制(例如上面的User表的AAB001列,只能取值1、2、3、4,可能使用check进行限制,也可能是其他方式),那么在对该列取值进行限制后,是否在Oracle中存在类似于......comments的表,详细描述了所有多取值字段的注释内容?如果没有是否只能用户自己创建一张这样枚举的表,来进行描述?