达梦8,sql取得所有表,所有字段,主键,自增

1.获得某个用户下,所有表名,表注释,创建时间,修改时间

select a.object_name as table_name,b.comment$ as table_comment,a.created as create_time,a.last_ddl_time as update_time
from dba_objects a
left join SYSTABLECOMMENTS b on b.tvname = a.object_name
where a.object_type = 'TABLE' and a.owner = 'xxx' 
and a.object_name not like 'SREF_CON%'
and a.object_name not like 'GEN_%'

 表的注释信息是在SYSTABLECOMMENTS 

a.object_name not like 'SREF_CON%',是排除了SREF_CON开头的表名。

and a.object_name not like 'GEN_%',是排除了GEN_开头的表名。

2.查询指定表名的所有列信息,是否为必填的,是否是主键,列注释,是否自增,列的数据类型

select a.column_name,
(case when (a.nullable = 'N') then '1' else null end) as is_required,
(case when b.column_name != 'NULL'  then '1' else '0' end) as is_pk,
a.column_id as sort,
c.comment$ as column_comment,
(case when d.info2 = 1 then '1' else '0' end) as is_increment,
a.data_type as column_type
from all_tab_columns a
left join (select top 1 * from user_ind_columns where table_name = 'xxx') b on b.column_name = a.column_name
left join SYSCOLUMNCOMMENTS c on c.colname = a.column_name and c.tvname = a.table_name
left join syscolumns d on d.name = a.column_name  and d.INFO2 & 1=1
where a.owner='DDY' and a.Table_Name='xxx'
order by a.column_id

 all_tab_columns表是包含表名、列名、列的数据类型(data_type),排序(column_id)。

user_ind_columns表是包含主键信息,表名、列名、主键名

SYSCOLUMNCOMMENTS表是列的注释信息。

syscolumns是包括列的自增信息info2就是是否自增

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艺菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值