oracle中user_tab_columns和user_tab_cols的区别

看oracle的元数据

create 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来标识的。

所以我们在使用的过程中,要尽量使用user_tab_columns,而不是user_tab_cols。

因为user_tab_cols会有一些隐藏字段.

猜你喜欢

转载自ghostjohn.iteye.com/blog/1702951
Tab