環境:OS:Red Hat Linux As 5DB:Oracle 10.2.0.4今天有個開發的同時將某個表資料全刪除掉了,因為刪除的時間不是很久,undo空間還沒有被覆蓋,最後從undo中將資料恢複了回來.如下是類比恢複的過程. SQL> connect hxl/hxl已串連。SQL> alter session set nls_language=american;Session altered. SQL> create table
先給出一個分頁的例子: 查出從第一到第十行記錄!select c.* from( select a.*,rownum rm from oper_log a) c where c.rm between 1 and 10 注意:rownum是偽列,意思就是資料庫中並不存在的列,它是只有在顯示了第一行時才給出一個值 1,下一行則在上一行的值上加1,所以如果rownum>2 則不會有任何匹配的記錄。由於rownum>2不匹配第一行記錄,所以第一行不顯示,記錄跳到第二行,
我們知道第一次要conn到scott/tiger前,必須為scott解鎖。解鎖具體為下面幾個步驟:1:啟動資料庫 執行@$Oracle_HOME/db_1/rdbms/admin/utlsampl.sql2:再次通過sqlplus進入資料庫3:alter user scott identified by tiger account unlock(如果此時我們不知道scott的密碼tiger,那麼我們就直接用alter user scott account
CASE運算式在Oracle8i被加入到SQL中,Oracle9i對其進行了擴充,使CASE運算式和CASE語句可以用在PL/SQL中。 值匹配CASE運算式較DECODE函數而言,CASE運算式更靈活。其最簡單的應用方式時當匹配成功時返回特定值。 SELECT ename, empno, (CASE deptno WHEN 10 THEN 'Accounting' WHEN 20 THEN '
Top-N查詢用於從一個有序的結果集中返回有限的記錄數。當需要取得最前面或最後面N條記錄,抑或需要對資料進行分頁查看時,該查詢尤其有用。本文將介紹幾種實現Top-N查詢的方法。 首先建立測試表並插入20行資料,但只有10個不同的值。DROP TABLE rownum_order_test; CREATE TABLE rownum_order_test ( val NUMBER); INSERT ALL INTO