2015-08-20 4 views
2

Я получаю все имена столбцов в таблице с помощью:Получить имена столбцов в порядке, в Oracle DB

SELECT COLUMN_NAME 
FROM ALL_TAB_COLUMNS 
WHERE TABLE_NAME='<TABLE_NAME>' 
AND OWNER = '<SCHEMA>' 

Я зову этот же SQL Постулаты на идентичной таблицы в другой базе данных, но получение результатов в другом порядке. Есть ли что-то, что я могу добавить к моему sql, чтобы столбцы были возвращены в том же порядке?

ответ

9

Предполагая, что ваши таблицы действительно идентичны столбцам, определенным в том же порядке в обеих базах данных, вы можете заказать COLUMN_ID для обеспечения согласованного заказа.

SELECT COLUMN_NAME 
FROM ALL_TAB_COLUMNS 
WHERE TABLE_NAME='<TABLE_NAME>' 
AND OWNER = '<SCHEMA>' 
ORDER BY COLUMN_ID 
3

Если вы хотите, чтобы гарантировать, что столбцы перечислены в том же порядке, независимо от порядка, в котором они были определены, сортировать по имени столбца:

... 
ORDER BY column_name 
Смежные вопросы