在Sybase central工具中,我们经常能看到如下页面:
昨天正巧有个客户需要导出这么一份table的数据,于是我写了如下SQL语句来查询table信息:
1
2
3
4
5
6
7
8
9
10
|
SELECT
tbl.table_name
AS
"Name"
,
usr.user_name
AS
"Owner"
,
'Table'
AS
Type,
--因为查询的是Table的信息,而非View的,所以Type列中的数据一直都是'Table',这里就hard code了
remarks
AS
"Comment"
FROM
sys.SYSTABLE
AS
tbl
LEFT
JOIN
sys.SYSUSER
AS
usr
ON
usr.user_id = tbl.creator
WHERE
creator
IN
(
SELECT
creator
FROM
sys.SYSTABLE
WHERE
table_name=
'zip2kv'
--我们知道其中一个表的表名,所以直接查询systable就好了,否则还得去查db表
);
|
上面这一堆写的啥东东??配图被51CTO弄丢了,时隔这么久,连我自己都不知道写的啥了。下面整理一下,也许还有点参考价值。
Sybase ASA 12数据库中存有系统表,这些系统表中记录了业务数据库(用户因为业务需要自行创建的数据库)中的Meta信息。比如,系统的db表中会记录当前Sybase ASA上存在的所有数据库名称。而,sys.SYSTABLE顾名思义,就是SYSTABLE系统表中保存有Sybase ASA数据库管理系统中所有的表的相关定义信息。几乎所有你可以使用的Meta信息都记录在以sys为schema的系统表中,只要对应Sybase ASA的文档自己翻找一下,应该就能找到你想要的信息。
本文转自 rickqin 51CTO博客,原文链接:http://blog.51cto.com/rickqin/1866418