获取表中所有字段名称的列表

时间:2014-09-02 13:00:25

标签: sql sybase

预计我不太了解SQL:我有一个名为" MY_TABLE"我想将此表中包含的所有字段名称检索到列表中。 通过网络浏览我发现了这段代码:

SELECT column_name 
FROM information_schema.columns 
WHERE table_name = 'MY_TABLE'

这对我来说非常简单,我期望的是一个列表,例如:

FIELD_1
FIELD_2
...
FIELD_n

但是当我尝试将此查询执行到我的查询分析器时,我收到以下错误消息:

>[Error] Script lines: 1-3 --------------------------
information_schema.columns not found. Specify owner.objectname or use sp_help to check   whether the object exists (sp_help may produce lots of output).
Msg: 208, Level: 16, State: 1
Server: JUMBO, Line: 1

有任何帮助吗?

2 个答案:

答案 0 :(得分:0)

非常简单。您可以在错误本身中看到架构作为查询中使用的列的别名是错误的。请再次检查架构名称。其他可能性是正确检查列名称,重要的是对架构的检查权限是否有权在该架构中执行查询(R / W / X)。

答案 1 :(得分:0)

我想这可能取决于您使用的Sybase版本,但根据ASE 12.5的Sybase文档,您可能希望使用的系统表是:

syscolumnssysobjects

  

sysobjects为每个表,视图,存储过程包含一行,   扩展存储过程,日志,规则,默认,触发,检查   约束,引用约束和(仅在tempdb中)临时   对象

     

syscolumns为每个表和视图中的每一列包含一行,   并且过程中的每个参数都有一行。

您想要的查询可能就是:

select c.name from syscolumns c
inner join sysobjects o on c.id = o.id
where o.name = 'MY_TABLE'