在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来标识的。
时间: 2024-10-23 11:34:28