GBase 8s
其他
问答

unload导出表

发表于2025-08-12 17:08:1275次浏览5个评论

【GBase版本】:GBase Database Server Version 12.10.FC4G1TL

【问题描述】*:

    问题1:请问怎么区分系统库和自建库?

    问题2:请问怎么区分系统表和自建表?

评论

登录后才可以发表评论
用户头像
武光远发表于 11个月前
systables 表 tabid >99 是用户表,
@Override
public String tablesSql() {
return "select c.comments,t.* from systables t left join SYSCOMMS c on c.tabid = t.tabid where t.tabid > 99";
}

@Override
public String tableFieldsSql() {
return "SELECT " +
" a.tabname, " +
" b.colname, " +
" b.coltype, " +
" CASE b.colname " +
" WHEN 'id' THEN 'PRI' " +
" END AS key, " +
" b.coltypename, " +
" c.comments, " +
" b.colno " +
"FROM " +
" systables a " +
"LEFT JOIN syscolumnsext b " +
" ON a.tabid = b.tabid " +
"LEFT JOIN syscolcomments c " +
" ON c.tabname = a.tabname AND c.colname = b.colname " +
"WHERE " +
" a.tabid > 99 " +
" AND a.tabtype = 'T' and a.tabname = '%s' " +
"ORDER BY " +
" a.tabname, b.colno;";
}
阳光爱上彩虹发表于 11个月前
@武光远:老师您好,我进入新建的库testdb1,查询语句为 select tabname ,tabid from systables;
,发现tabid > 99的也有系统表;部分结果如下tabname dba_tab_columns
tabid 598

tabname dba_tab_cols
tabid 599

tabname dba_ind_columns
tabid 600

tabname user_trigger_cols
tabid 601

tabname dba_trigger_cols
tabid 602

tabname v$datafile
tabid 603

tabname v_$datafile
tabid 604

tabname v$database
tabid 605

tabname v_$database
tabid 606

tabname v$license
tabid 607

tabname v$version
tabid 608

tabname dual
tabid 609

tabname v$instance
tabid 610

tabname v$option
tabid 611

tabname v$lock
tabid 612

tabname user_db_links
tabid 613

tabname dba_db_links
tabid 614

tabname v$dblink
tabid 615

129 row(s) retrieved.

Elapsed time: 0.003 sec
枫溪发表于 8个月前
@武光远:楼上说的对啊 建议尝试
用户头像
liaosnet发表于 11个月前
1,系统库一般是sys开头的,字符集一般都是en_US.819,is_nls为0。或者对应以下库名(sysmaster,sys,sysuser,sysutils,sysadmin,gbasedbt,sysha,syscdcv1,syscdr)的为系统库。
2,自建表的语句,在本库执行:
select t.*
from systables t
where t.tabid > (select tabid from systables v where v.tabname = ' VERSION') -- 系统表与普通表的分隔tabid
and t.tabtype = 'T' -- 指定是表(T)
阳光爱上彩虹发表于 11个月前
@liaosnet:好的谢谢老师