平時的項目開發中,分頁預存程序是用的比較多的預存程序,SqlServer分頁預存程序中經常要用到top,Oracle中則經常用到了RowNum. 現在,有一個UserInfo表,一個欄位是UserId,另一個欄位是UserName,其中是UserId是自動成長的,步長是1.表中共有30條資料,其中UserId的值不一定是連續的。現在要實現的目的是取其中的第11至第20條記錄。先看SqlServer的幾種做法: 第一種寫法:Code highlighting produced by
第一章:日誌管理 1.forcing log switches sql> alter system switch logfile; 2.forcing checkpoints sql> alter system checkpoint; 3.adding online redo log groups sql> alter database add logfile [group 4] sql> ('/disk3/log4
第十二章: BACKUP and RECOVERY 1. v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafile,v$sgastat 2. Rman need set dbwr_IO_slaves or backup_tape_IO_slaves and large_pool_size 3. Monitoring Parallel Rollback >
第一部分、SQL&PL/SQL[Q]怎麼樣查詢特殊字元,如萬用字元%與_[A]select * from table where name like 'A\_%' escape '\'[Q]如何插入單引號到資料庫表中[A]可以用ASCII碼處理,其它特殊字元如&也一樣,如insert into t values('i'||chr(39)||'m'); -- chr(39)代表字元'或者用兩個單引號表示一個or insert into t values('I''m'); --
9. 整合簡單,無關聯的資料庫訪問 如果你有幾個簡單的資料庫查詢語句,你可以把它們整合到一個查詢中(即使它們之間沒有關係) 例如: SELECT NAME FROM EMP WHERE EMP_NO = 1234;SELECT NAME FROM DPT WHERE DPT_NO = 10 ;SELECT NAME FROM CAT WHERE CAT_TYPE = ‘RD’; 上面的3個查詢可以被合并成一個: SELECT E.NAME , D.NAME , C.NAME
8. 使用DECODE函數來減少處理時間 使用DECODE函數可以避免重複掃描相同記錄或重複串連相同的表. 例如: SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%’; SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0030 AND ENAME
在實際項目中使用ORACLE時出現的一些問題,通過變通的方案將問題避免了,特撰此文,以備忘用!1.ORA-01403:NO DATA FOUND-未找到資料 a.加一個exception異常處理Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->EXCEPTION WHEN NO_DATA_FOUND THEN ...
文法規則:Create [or replace] trigger [模式.]觸發器名 Before| after insert|delete|(update of 列名)On 表名[for each row]When 條件PL/SQL塊說明:For each row的意義是:在一次動作表的語句中,每操作成功一行就會觸發一次;不寫的話,表示是表級觸發器,則無論操作多少行,都只觸發一次;When條件的出現說明了,在DML操作的時候也許一定會觸發觸發器,但是觸發器不一定會做實際的工作,
一、安裝1、去Oracle官網下載XE版的安裝包(貌似Windows只有32位的,Linux只有6位的),解壓。2、雙擊Setup.exe,啟動安裝程式,在選在路徑那裡不要點下一步,否則會報“... ...Reg_XE. 該檔案似乎不存在。”的錯誤!3、進入以下目錄“C:\Users\<your user
一、改善資料庫效能1、 用explain plan 來統計檢查sql 語句的效能具體操作:產生plan_table表通過運行 rdbms\admin\utlxplain.sql explain plan set statement_id =’statement1’ into plan_tablefor select * from table_name ;select statement_id, operation, options position from