Sybase ASA 12中使用SQL查询表信息

在Sybase central工具中,我们经常能看到如下页面:

Sybase ASA 12中使用SQL查询表信息

昨天正巧有个客户需要导出这么一份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