如果做表单自定义或做数据库管理软件,就必须能自动取得某个用户下数据库的一些信息。比较有用的有:
表名,字段英文名,字段中文名,字段的类型,字段的长度等。其中,字段的中文名按照数据库的记录是无法取到的,但是我们可以变通一下,
通过comments去记录字段中文名。
//取得该用户下所有的表
select * from user_tables;
//取得表名为sysuser的注释信息
select * from user_tab_comments where table_name = 'sysuser';
//取得该用户下表名为sysuser表的结构
select * from user_tab_columns where table_name='sysuser';
//取得该用户下表名为sysuser表中字段的注释信息
select * from user_col_comments where table_name = 'sysuser';
//取得该用户下所有表的中文名称和英文名称
select t2.table_name,t2.comments from user_tables t1,user_tab_comments t2 where t1.table_name=t2.table_name;
table_name comments
------------------------------ -----------------------------------------------
sysuser 用户表
//取得表sysuser中的英文字段名,中文字段名,字段类型,字段长度
select t1.table_name,t1.column_name,t2.comments,t1.data_type,t1.data_length from user_tab_columns t1, user_col_comments t2 where t1.table_name='sysuser' and t1.table_name=t2.table_name and t1.column_name=t2.column_name;
table_name column_name comments data_type data_length
----------- ----------------------------------------------------------------------
sysuser sysuserid 用户id varchar2 50
sysuser sysusername 用户名 varchar2 50
sysuser sysuserpassword 密码