SyBase Anywhere中的列排序

时间:2015-05-04 17:45:29

标签: sql database sybase-asa

我有一个Sybase Anywhere数据库,其中有一个表(比如表A)。我需要检查此表中列的顺序。假设表A中有3列。 Col_1Col_2Col_3

如何检查Col_2Col_1之间是否有Col_3?基本上检查表中列的排序(如果表中有超过3列)。

1 个答案:

答案 0 :(得分:0)

您应该查询表示数据库结构的数据库的系统表。在SQL Anywhere 8(我知道的最新版本)中,有趣的表是SYS.SYSTABLE和SYS.SYSCOLUMN。

此查询返回按“逻辑”顺序排序的表的所有列:

SELECT c.column_id, c.column_name
FROM   sys.systable AS t
       INNER JOIN
       sys.syscolumn AS c
       ON c.table_id = t.table_id
WHERE  t.table_name = 'TableA'
ORDER BY c.column_id;

您可以查询 Col_2 的column_id,并检查它是否在 Col_1 Col_2 的column_ids之间。