Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在Oracle数据库中按顺序获取列名_Sql_Oracle - Fatal编程技术网

Sql 在Oracle数据库中按顺序获取列名

Sql 在Oracle数据库中按顺序获取列名,sql,oracle,Sql,Oracle,我使用以下方法获取表中的所有列名: SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE TABLE_NAME='<TABLE_NAME>' AND OWNER = '<SCHEMA>' 选择列名称 从所有_选项卡_列 其中表_NAME=“” 和所有者=“” 我在不同数据库中的相同表上调用相同的sql语句,但得到的结果顺序不同。有什么东西可以附加到我的sql中,以便以相同的顺序返回列吗?假设您的表确实与两个数据库中以相同顺序

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

SELECT COLUMN_NAME 
FROM ALL_TAB_COLUMNS 
WHERE TABLE_NAME='<TABLE_NAME>' 
AND OWNER = '<SCHEMA>'
选择列名称
从所有_选项卡_列
其中表_NAME=“”
和所有者=“”

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

假设您的表确实与两个数据库中以相同顺序定义的列相同,您可以按
列ID进行排序,以确保排序一致

SELECT COLUMN_NAME 
FROM ALL_TAB_COLUMNS 
WHERE TABLE_NAME='<TABLE_NAME>' 
AND OWNER = '<SCHEMA>'
ORDER BY COLUMN_ID
选择列名称
从所有_选项卡_列
其中表_NAME=“”
和所有者=“”
按列排序\u ID

如果要保证列以相同的顺序列出,而不考虑它们的定义顺序,请按列名排序:

...
ORDER BY column_name