ORACLE查詢中出現“Ora-01791 不是Selected運算式”錯誤資訊的解決辦法

    偶寫一個銷售查詢的功能模組,但在測試的時候按 條碼/編碼/庫房 條件排序的時候都沒有錯誤,只要按日期查的時候就會有“Ora-01791 不是Selected運算式”的錯誤資訊,於是查看我的SQL語句,語句如下:select  distinct GoodsId,Barcode,DepotId,GoodsName from sa_sale where depotid='11' order by selldate這句話執行的時候就有錯誤 ,但把排序換成 order by  Goodsid

oracle查詢效率(一)

ORACLE的解析器按照從右至左的順序處理FROM子句中的表名,FROM子句中寫在最後的表(基礎資料表 driving table)將被最先處理,在FROM子句中包含多個表的情況下,你必須選擇記錄條數最少的表作為基礎資料表。如果有3個以上的表串連查詢, 那就需要選擇交叉表(intersection table)作為基礎資料表, 交叉表是指那個被其他表所引用的表. (2)      WHERE子句中的串連順序.:

如何從完好的資料檔案恢複oracle資料庫

一.有資料檔案、控制檔案和記錄檔的備份1.伺服器重裝了作業系統,oracle也重裝了。如果重裝的oracle和以前損壞的資料庫是一模一樣的結構,那麼此時的恢複是比較簡單的。1)刪除掉建立資料庫的所有資料檔案、控制檔案和記錄檔。Copy原資料庫的資料檔案、控制檔案和記錄檔到對應目錄下。2)Cmd>sqlplus /nologSql>conn  as sysdba使用者名稱:system密碼:(此處密碼為新建立資料庫的密碼)Sql>shutdown immediateSql>

oracle查詢效率(二)–in and exist

 in 與 exist 的文法比較:           select × from 資料表 t where t.x in (...)       括弧內可以是符合t.x欄位類型的值集合,如('1','2','3'),但如果t.x是number類型的時候,似乎這樣的寫法會出問題;也可以是通過另外的select語句查詢出來的值集合,如(select y from 資料表2 where ...)。           select * from 資料表 t where [...] and

Oracle日誌操作模式(歸檔模式和非歸檔模式)利與弊

       在Oracle數 據庫中, 主要有兩種日誌操作模式,分別為非歸 檔模式與歸檔模式。預設情況下,資料庫採用的是非歸檔模式。作為一個合格的資料庫管理員,應當深入瞭解這兩種日誌操作模式的特點,並且在資料庫建立時,選 擇合適的操作模式。筆者 今天就談談自己對這兩種操作模式的理解,並且給出一些可行的建議,跟大家一起來提高Oracle資料庫的安全性。  一、非歸檔模式的利與弊  非歸檔模式是指不保留重做曆史的日誌操作模式,只能夠用於保護常式失敗,而不能夠保護介質

oracle資料表空間操作詳解

oracle資料表空間操作詳解 作者:http://avill.cnblogs.com/archive/2006/04/16/376261.html   來源:    更新日期:2006-01-04      

Oracle Flashback之flashback table

一,Flashback Table功能描述將資料表恢複到之前的一個時間點或SCN號。注意:該功能將改變當前表及附屬對象統一閃回到之前的一個狀態。二,需要修改的系統參數undo_management,參數需要是“AUTO”,保證復原段使用模式是SMU modeundo_retention,單位是秒,調整可復原的時間範圍確認系統的相關參數三,原理閃回表(Flashback table)與閃回查詢(Flashback

oracle連結的配置–product\11.2.0\client_1\network\admin\tnsnames.ora

 oracle用戶端安裝路徑\product\11.2.0\client_1\network\admin\tnsnames.ora其內容如下:# tnsnames.ora Network Configuration File: E:\Oracle11g-client2-manager\product\11.2.0\client_1\NETWORK\ADMIN\tnsnames.ora# Generated by Oracle configuration tools.DEV =

修改linux主機名稱後,oracle需要修改的檔案

背景:將主機名稱從DBT_A改為DBTACentOS5.5  ORACLE11gR2需要修改3個檔案。[root@DBTA ~]# vi /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 DBTA localhost::1

oracle 11g中 Resource Manager的組成元素

Resource Manager的組成元素如下表:組成元素描述  Resource consumer group資源消耗組根據對資源的需求被分配到一起的一組會話。Resource Manager 給資源消耗組分配資源,而不是給單個會話分配   Resource plan資源執行計畫一個說明資源被分配給資源的消費群體的指令集裝箱。你指定資料庫如何通過啟用特定的資源計劃分配資源。Resource plan

oracle 添加資料表空間

/*分為四步 *//*第1步:建立暫存資料表空間 */create temporary tablespace user_temp tempfile 'C:\hy\oracle\product\10.2.0\tablespace\user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第2步:建立資料資料表空間 */create tablespace user_data

ORACLE預存程序實戰之一:入門

1.基本結構 CREATE OR REPLACE PROCEDURE 預存程序名字(    參數1 IN NUMBER,    參數2 IN NUMBER,    參數3 OUT NUMBER) IS變數1 INTEGER := 預設值;變數2 DATE;BEGIN ...EXCEPTION  WHEN 異常類別 THEN      ...  WHEN OTHERS THEN    ...END 預存程序名字;2.基本操作變數賦值 V_TEST := 1;動態賦值 SELECT

oracle dba 學習日誌3(backup)

--a list of datafilesSELECT * FROM V$DATAFILE;--a listing of datafiles along with their associated tablespaces:SELECT t.NAME "Tablespace", f.NAME "Datafile" FROM V$TABLESPACE t, V$DATAFILE f WHERE t.TS# = f.TS# ORDER BY t.NAME;select * from

Oracle 使用者資訊查詢,動作陳述式

dba_XXX 需要有許可權才能查看,否則會報表和視圖不存在的錯誤1. 查詢所有使用者(username, tablespace 資訊)select * from dba_users;select * from all_users;//目前使用者select * from user_users; 2. 查看使用者或角色的系統許可權select * from dba_sys_privs;//目前使用者擁有的許可權select * from user_sys_privs;3.

Oracle 11g RAC CRS-4535/ORA-15077

    新安裝了Oracle 11g rac之後,不知道是什麼原因導致第二個節點上的crsd無法啟動?其錯誤訊息是CRS-4535: Cannot communicate with Cluster Ready Services。其具體的錯誤資訊還需要查看crsd.log日誌才知道。1、環境 [root@linux2 ~]# cat /etc/issue Enterprise Linux Enterprise Linux Server release 5.5 (Carthage) Kernel \

Oracle SGA 自動管理特性(sga_target參數)

    最近有網友對Oracle SGA記憶體自動管理特性不是很清楚,可能是由於當時翻譯的 Oracle 10g SGA 的自動化管理 比較生澀,下面依舊是針對這個問題給出在Oracle 10g環境中描述,並給出樣本以便更好的理解。 1、相關參數描述a、參數SHARED_POOL_SIZE SHARED_POOL_SIZE = integer [K | M | G] Default value    If SGA_TARGET is set: If the parameter is not

oracle11 用戶端安裝及PLSQL和TOAD中文亂碼

http://wanwentao.blog.51cto.com/2406488/456195oracle11 用戶端安裝及PLSQL和TOAD中文亂碼1.從Oracle官方下載“Instant Client Package”的軟體,較好的實現了Oracle用戶端綠化的解決方案。  為:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html  可下載的程式包有: 

Oracle中Clob與Blob欄位的讀取

Oracle中若以字串的形式寫入資料到Clob欄位中,預設的長度為4000,最大可儲存4G。     直接將字串寫入Clob欄位中,則最大可寫4000個位元組;若要寫入大的字元資料,可以將字元資料以二進位流的形式寫入。寫入Clob(Blob代碼):OracleConnection conn = new OracleConnection(GetConfigUserConnectionString());            conn.Open();           

常見Oracle HINT

常見Oracle HINT的用法:1. /*+ALL_ROWS*/表明對語句塊選擇基於開銷的最佳化方法,並獲得最佳輸送量,使資源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/表明對語句塊選擇基於開銷的最佳化方法,並獲得最佳回應時間,使資源消耗最小化.例如:SELECT /*+FIRST_ROWS*/

ORACLE按條件排序的例子

需求: 當天約會的案例在最前面--> 從未處理過的案例--> 上次處理時間由小到大排序(即越近催收的案例在越後面) 即:(col_case.case_app_date=sysdate)-->(col_case.case_lst_col_date is null)-->(col_case.case_lst_col_date)select case when trunc(t.case_app_date)=trunc(sysdate) then '1'            

總頁數: 1509 1 .... 168 169 170 171 172 .... 1509 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.