在Oracle DB中按顺序获取列名

use*_*166 6 sql oracle

我使用以下方法获取表中的所有列名:

SELECT COLUMN_NAME 
FROM ALL_TAB_COLUMNS 
WHERE TABLE_NAME='<TABLE_NAME>' 
AND OWNER = '<SCHEMA>'
Run Code Online (Sandbox Code Playgroud)

我在不同数据库中的相同表上调用相同的sql语句,但以不同的顺序获取结果.有什么东西我可以附加到我的SQL,以便列将以相同的顺序返回?

sst*_*tan 14

假设您的表与两个数据库中以相同顺序定义的列完全相同,您可以按顺序排列COLUMN_ID以确保一致的排序.

SELECT COLUMN_NAME 
FROM ALL_TAB_COLUMNS 
WHERE TABLE_NAME='<TABLE_NAME>' 
AND OWNER = '<SCHEMA>'
ORDER BY COLUMN_ID
Run Code Online (Sandbox Code Playgroud)