获取Gbase8s表或字段信息的一些建议

这篇博客介绍了如何通过SQL查询从数据库中获取表的备注信息和字段详细信息。内容包括使用特定条件筛选非系统表,以及通过多个系统表联查获取表的列名、数据类型、约束类型等关键字段信息。

1.获取数据库表备注信息(后面的条件"a.tabauth = 'su-idx---' ''用来筛选出非系统表,但是不确定是否一定正确):

select t.tabname,c.comments from [数据库名].systables t inner join [数据库名].systabauth a on a.tabid = t.tabid left join [数据库名].syscomms c on c.tabid = t.tabid where a.tabauth = 'su-idx---'

2.获取表字段信息:

   a.先可以看库里面的视图,视图里面有部分sql语句提供了字段的一些信息:

  b.去系统表里面一张 一张的看:

  

   c.我找到的一些表和信息:

select * from syscolumns

select * from syscolcomms

select * from syscoldepend

select * from sysconstraints
 
select * from sysxtdtypes
 
select * from sysseclabels
 
 
 select 
  c.colname as columnName,
  get_colname(c.coltype ,c.collength ,c.extended_id ,1 ) as dataType,
  cs.constrtype  as columnKey,
  c.collength as characterLength,
  '' as characterOctetLength,
  cc.comments as columnComment,
  c.colno as sortNo
 from 
 systables t
 left join syscolumns c on c.tabid = t.tabid
 left join syscolcomms cc on (t.tabid = cc.tabid and c.colno = cc.colno)
 left join sysdefaults d on (t.tabid = d.tabid and c.colno = d.colno)
 left join syscoldepend cd on (c.tabid = cd.tabid and c.colno = cd.colno)
 left join sysxtdtypes xt on c.extended_id = xt.extended_id
 left join sysseclabels e on c.seclabelid = e.seclabelid
 left join sysconstraints cs on (cd.tabid = cs.tabid and cd.constrid = cs.constrid  and cs.constrtype = 'P')
 where
  t.tabname = 'newtable_2'
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值