如果我在ASA Sybase数据库中使用获取列:
select * from sys.syscolumns where table_id='1';
然后我可以获得creator,table_name,列名,列类型(varchar,int,..)但是没有列id或表id看不到。 如何查询,我可以获得列
creator, tname, cname, table_id, coltype, nulls, width, is_primary_key, default_value, remarks
我测量了,如何获得
select
t.creator, //i meaned schema name e.g public
t.table_name, //the name of table e.g products
t.table_id, //table's identifier
c.column_name, //the name of column, e.g price
c.column_type, //e.g varchar(255), integer, ..
c.nulls, //not null or nulls
c.width, //255 (varchar(255)), 4 (int(4))
c.default //default value, the "default" is keyword and gives an error
from sys.systab t, sys.systabcol c
where t.table_id = c.table_id
答案 0 :(得分:2)
我认为sys.syscolumns是一个与ASE兼容性相关的视图。您可能想要加入SYSTAB和SYSTABCOL。
select t.creator, t.table_name, t.table_id, c.column_type, c.nulls, c.width, c.default
from sys.systab t, sys.systabcol c
where t.table_id = c.table_id
您可能还必须引用SYSIDX来获取主键信息。
References to the system tables and their structure can be found in the documentation。在大多数情况下,您可以使用SQLAnywhere v10文档查找有关Sybase ASA的答案。