获取oracle 表字段描述,几种获取oracle用户表字段信息的方法
oracle提供了很多有用的子典表來保存表的基本信息,因為在一個項目中要用到動態獲取指定表所有字段信息,所以在網上搜集了一下這幾種方法:
首先創建一個用來測試的表,結構如下:
create table testTable(
userid integer,
username varchar2(20),
time_stamp date
)
第一種方法: 查詢dba_tab_columns
select COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from?? dba_tab_columns
where? table_name =upper('testTable')order by COLUMN_NAME
執行結果:
COLUMN_NAME??? DATA_TYPE?? DATA_LENGTH
--------------????????? -----------??????? -----------
TIME_STAMP??????? DATE?????????????? 7
USERID??????????????? NUMBER????????? 22
USERNAME?????????? VARCHAR2????? 20
這種方法需要有DBA權限
第二種方法: 查詢user_tab_cols
select? COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from? user_tab_cols
where table_name=upper('testTable')
order by COLUMN_NAME
執行結果:
COLUMN_NAME??? DATA_TYPE?? DATA_LENGTH
--------------????????? -----------??????? -----------
TIME_STAMP??????? DATE?????????????? 7
USERID??????????????? NUMBER????????? 22
USERNAME?????????? VARCHAR2????? 20
這種方法只能查找當前用戶下的表
第三種方法: 查詢ALL_TAB_COLUMNS
select distinct COLUMN_NAME,DATA_TYPE,DATA_LENGTH
from ALL_TAB_COLUMNS
WHERE TABLE_NAME= upper('testTable')
執行結果:
COLUMN_NAME??? DATA_TYPE?? DATA_LENGTH
--------------????????? -----------??????? -----------
TIME_STAMP??????? DATE?????????????? 7
USERID??????????????? NUMBER????????? 22
USERNAME?????????? VARCHAR2????? 20
這種方法可以查詢所有用戶下的表
oracle 在存儲這些表的信息時,會把表名轉換成大寫方式,因此在條件中用upper()函數把表名字符轉成大寫方式
隨然以上3中方法都可以查出指定表的字段基本信息(還有其他的更多信息),可以根據自己的需要靈活選擇。
總結
以上是生活随笔為你收集整理的获取oracle 表字段描述,几种获取oracle用户表字段信息的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么人们会怀念童年时代的食物和食品?
- 下一篇: linux如何导入种子文件格式,在 Li