如何取得表中第6到第10條記錄的值。 第一種方法,使用minus語句: 假設ddl語句如下: CREATE TABLE T(ID VARCHAR2(4) PRIMARY KEY, VALUE INT) 那麼第一種方法就是取出前5條,再取出前10條,然後採用集合運算的方法把前10條減去前5條就OK了,SQL語句如下: SELECT * FROM T WHERE ROWNUM <= 10 MINUS SELECT * FROM T WHERE ROWNUM <= 5;
常在oracle的使用過程中碰到這個問題,所以也總結了一點解決方案:)1)尋找死結的進程:sqlplus "/as sysdba"SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID; 2)kill掉這個死結的進程:alter system
匯入oracle資料庫的問題,這些方法也可以用於將其它格式的資料匯入到oracle中,這裡只是以excel為例。方法一,使用SQL*Loader這個是用的較多的方法,前提必須oracle資料中目的表已經存在。大體步驟如下:1 將excel檔案另存新檔一個新檔案比如檔案名稱為text.txt,檔案類型選文字檔(定位字元分隔),這裡選擇類型為csv(逗號分隔)也行,但是在寫後面的control.ctl時要將欄位結束字元改為','(fields terminated by ','),假設儲存到c盤根目
簡單說兩句,具體看例子 1。盡量不要使用 like '%..%' 2。對於 like '..%..' (不以 % 開頭),Oracle可以應用 colunm上的index 3。對於 like '%...' 的 (不以 % 結尾),可以利用reverse + function index 的形式,變化成 like '..%' 簡單說兩句,具體看例子 1。盡量不要使用 like '%..%' 2。對於 like '..%..' (不以 % 開頭),Oracle可以應用
對於rownum來說它是oracle系統順序分配為從查詢返回的行的編號,返回的第一行分配的是1,第二行是2,依此類推,這個偽欄位可以用於限制查詢返回的總行數,而且rownum不能以任何錶的名稱作為首碼。 舉例說明:例如表:student(學生)表,表結構為:ID char(6) --學號name VARCHAR2(10) --姓名 create table student (ID char(6), name VARCHAR2(100));insert into
1. 監控案例的等待 select event,sum(decode(wait_Time,0,0,1)) "Prev", sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot" from v$session_Wait group by event order by 4; 2. 復原段的爭用情況
最近這段時間剛做了一項效能最佳化的工作,根據一周的statspack報告,寫了一個最佳化方案。一、系統現有的主要效能問題從最近一周比較典型的STATSPACK報告來看,系統中主要的等待事件如下:Top 5 Timed Events~~~~~~~~~~~~~~Event Waits Time (s) % Total Ela Time-------------------------------------------- ------------ ----------- ----CPU time 5