在oracle这两个系统非常的重要,特别是做动态sql的时候根据这两个视图做查询,然后去执行相应的操作:如字段长度,非空等约束。但是这两种视图有什么区别呢?

  通过查看oracle中的元数据就可以很清楚的知道它们两者的区别了:

  reate or replace view sys.user_tab_columns as

       select TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_TYPE_MOD, DATA_TYPE_OWNER,
       DATA_LENGTH, DATA_PRECISION, DATA_SCALE, NULLABLE, COLUMN_ID,
       DEFAULT_LENGTH, DATA_DEFAULT, NUM_DISTINCT, LOW_VALUE, HIGH_VALUE,
       DENSITY, NUM_NULLS, NUM_BUCKETS, LAST_ANALYZED, SAMPLE_SIZE,
       CHARACTER_SET_NAME, CHAR_COL_DECL_LENGTH,
       GLOBAL_STATS, USER_STATS, AVG_COL_LEN, CHAR_LENGTH, CHAR_USED,
       V80_FMT_IMAGE, DATA_UPGRADED, HISTOGRAM
  from USER_TAB_COLS
 where HIDDEN_COLUMN = 'NO'
oracle 在表中建立索引后,会在表里自动新增一个字段,但是这个字段在user_tab_cols里的HIDDEN_COLUMN里是用YES来标识的。
posted on 2016-01-27 10:44  踏雪无痕之来去无踪  阅读(4389)  评论(0编辑  收藏  举报