ORA 01791 不是SElECTed表示式

2021-06-08 21:43:48 字數 756 閱讀 2376

ora-01791:不是selected表示式

2008-12-08 15:26

query="select distinct dwbm,area_no,dwmc,role_no,zgbm_no from s_mtab where role_no between 2 and 3 and (substr(zgbm_no,1,4)='6101' or dwbm=6101) and area_no is not null order by area_no ";

莫名其妙的報錯資訊。。。「ora-01791:不是selected表示式」

經分析,如果在order by中指定多個列,結果將先按照子句中的第乙個列排序,然後第二個,依此類推

在 select中未出現的列名也可用於order by 子句中,主要table中有就行,但如果select子句中出現了distinct關鍵字,則只能用出現過的列名,而且如果select子句中使用了任何運算子,在order by 子句中必須保持和select子句中表示式完全一致,否則出現ora-01791 error

所以分析以後把上面的句子寫成這樣:

query="select distinct 

area_no, dwbm,dwmc,role_no,zgbm_no from s_mtab where role_no between 2 and 3 and (substr(zgbm_no,1,4)='6101' or dwbm=6101) and area_no is not null 

order by area_no ";

ORA 01791 不是 SELECTed 表示式

oracle 9i資料庫,執行下面語句出現錯誤 ora 01791 不是 selected 表示式 select distinct t.name from auth employee t order by t.auth employee id asc 原來 select語句中含有distinct關鍵...

ORA 09817,ORA 01075報錯解決方法

sql conn as sysdba error ora 09817 write to audit file failed.svr4 error 28 no space left on device ora 01075 you are currently logged on sql 檢視硬碟空間發現...

ORA 00354 ORA 00353問題處理

同事電腦上的測試庫,很久沒用,今天啟動的時候沒啟動起來,報錯如下 資料庫版本11.2.0.4,沒開啟歸檔 看到報錯的第一反應就是 open resetlogs。然後去網上搜了一下,大家的思路基本都是一致的。從報錯資訊可以看出是redo的檔案頭有壞塊。因為是測試庫,redo裡的資訊丟了也無所謂 即使是...