0

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

如何检查是否Col_2介于Col_1and之间Col_3?基本上检查表中列的顺序(如果表中有超过 3 列)。

4

1 回答 1

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_1Col_2的 column_ids 之间。

于 2015-05-06T13:23:24.960 回答