Oracle
Oracle數據庫常用的操作命令
摘要: Oracle數據庫常用的操作命令
常用的數據字典表:tab,user_tables,user_objects,user_catalog,user_constraints,user_cons_columns
1、視圖在所有存儲過程(數據字典表)中查詢是否有某一字符串的SQL語句
select * from all_source where type='PROCEDURE' and lower(text) like '%student %'
select * from user_source where lower(text) like '%dbms_%'
select tname,cname,coltype,width from col where tname='STUDENT'
閱讀全文
posted @
2009-12-26 15:54 cheng 閱讀(1398) |
評論 (1) 編輯
Oracle的imp腳本
摘要: Oracle的導入實用程序(Import utility)允許從數據庫提取數據,并且將數據寫入操作系統文件。
imp使用的基本格式:imp[username[/password[@service]]],以下例舉imp常用用法。
1. 獲取幫助
imp help=y
2. 導入一個完整數據庫
imp system/manager file=bible_db log=dible_db full=y ignore=y
3. 導入一個或一組指定用戶所屬的全部表、索引和其他對象
imp system/manager file=seapark log=seapark fromuser=seapark imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)
閱讀全文
posted @
2009-09-14 19:22 cheng 閱讀(901) |
評論 (0) 編輯
oracle 字符集的參數nls_lang
摘要: oracle 字符集的參數 nls_lang
nls_lang
1. NLS_LANG 參數組成
NLS_LANG參數由以下部分組成:
NLS_LANG=
_.
NLS_LANG各部分含義如下:
LANGUAGE指定:
閱讀全文
posted @
2009-07-17 21:07 cheng 閱讀(1623) |
評論 (1) 編輯
SQLServer和Oracle常用函數對比
摘要: 常用的SQL函數,借鑒一些,補充一些。雖然現在一直在Oracle下開發,實踐中SQLServer也接觸過些許。將以前的一些記憶整理出來,先貼為快。
閱讀全文
posted @
2009-03-19 22:00 cheng 閱讀(1909) |
評論 (1) 編輯
各個數據庫的分頁算法
摘要: 1.SQL SERVER 是用先逆序再正序的方法
select top 3 * from (select top 9 * from mvc_book order by bid) as s order by s.bid desc [第6,5,4條]
select * from (select top 3 * from (select top 6 * from mvc_book order by bid) as s order by s.bid desc) as s1 order by s1.bid [第4,5,6條]
select top 6 * from mvc_book where (bid not in (select top 2 bid from mvc_book))[第3,4,5,6,7,8條]
閱讀全文
posted @
2009-01-30 20:36 cheng 閱讀(1297) |
評論 (0) 編輯
JDBC事務問題
摘要: 事務,在管理類系統中是一個非常重要的概念和技術點,幾乎涉及到數據的業務都會考慮事務的操作性。現在主流的框架中有很多事務管理器已經幫我們做好了底層的支持,我們關心的是業務層面的事務邏輯控制,但很多時候我們也應該清楚事務在jdbc層面控制的思路和原理,這樣才能更好的幫助我們來理解它并應用它。例如:為了解決與“多個線程請求相同數據”相關的問題,事務之間用鎖相互隔開。多數主流的數據庫支持不同類型的鎖;因此,JDBC API 支持不同類型的事務,它們由 Connection 對象指派或確定...
閱讀全文
posted @
2008-08-31 21:19 cheng 閱讀(820) |
評論 (1) 編輯
PLSQL中顯式Cursor、隱式Cursor、動態Ref Cursor
摘要: PLSQL開發過程中,對于集合數據的處理,在sql的批量insert,update,delete操作下,我們還會經常用到游標。
對于游標的用法,用過的朋友都比較熟悉。此文中主要是對其分類以及各自用法做個小結。對于動態游標,靜態游標各自的特點以及應用場景以及什么情況下用什么類型游標最優等等話題進行討論和分析。
閱讀全文
posted @
2008-07-31 19:04 cheng 閱讀(7858) |
評論 (1) 編輯
PLSQL開發筆記和小結
摘要: wap項目需要和管理平臺對接,近期一直在編寫接口機存儲過程,流程涵蓋我們平臺的大部分對象(SP,業務,產品,套餐,以及map關系表:產品與套餐,業務與業務類別,業務與欄目,業務類別與欄目等等)。于是趁開發聯調完畢之際,總結一下以前寫過的過程以及編寫過程中需要的一些注意點,同時也參考CSDN上大牛們總結的一些精髓并吸收之,呵。
閱讀全文
posted @
2008-07-19 21:38 cheng 閱讀(35768) |
評論 (14) 編輯
DBA在系統設計和開發中的工作范疇
摘要: 許多應用系統的性能并不理想,或者系統數據會出現一些難以重現的奇怪的錯誤,這些問題(尤其是性能問題)有時并不是在系統初期就會體現出來,但是隨著系統的運行、數據的增多而逐步變得難以解決,給系統后期的功能擴展和用戶使用上帶來了不少麻煩,造成這些問題的原因,往往體現了一點:開發、設計這些系統的人不了解數據庫!
閱讀全文
posted @
2008-06-29 08:38 cheng 閱讀(545) |
評論 (0) 編輯
Oracle 的SQL*LOADER
摘要: Oracle 的SQL*LOADER可以將外部數據加載到數據庫表中。下面是SQL*LOADER的基本特點:
1.1 功能
1)能裝入不同數據類型文件及多個數據文件的數據
2)可裝入固定格式,自由定界以及可度長格式的數據
3)可以裝入二進制,壓縮十進制數據
4)一次可對多個表裝入數據
5)連接多個物理記錄裝到一個記錄中
6)對一單記錄分解再裝入到表中
閱讀全文
posted @
2008-05-08 10:41 cheng 閱讀(3672) |
評論 (0) 編輯
ORACLE Sequence
摘要: Sequence是數據庫系統按照一定規則自動增加的數字序列。這個序列一般作為代理主鍵(因為不會重復),沒有其他任何意義。
Sequence是數據庫系統的特性,有的數據庫有Sequence,有的沒有。比如Oracle、DB2、PostgreSQL數據庫有Sequence,MySQL、SQL Server、Sybase等數據庫沒有Sequence。
閱讀全文
posted @
2008-04-17 19:39 cheng 閱讀(1824) |
評論 (0) 編輯
sqlplus命令收集
摘要: Oracle的sql*plus是與oracle進行交互的客戶端工具。在sql*plus中,可以運行sql*plus命令與sql*plus語句。
我們通常所說的DML、DDL、DCL語句都是sql*plus語句,它們執行完后,都可以保存在一個被稱為sql buffer的內存區域中,并且只能保存一條最近執行的sql語句,我們可以對保存在sql buffer中的sql 語句進行修改,然后再次執行,sql*plus一般都與數據庫打交道。 除了sql*plus語句,在sql*plus中執行的其它語句我們稱之為sql*plus命令。它們執行完后,不保存在sql buffer的內存區域中,它們一般用來對輸出的結果進行格式化顯示,以便于制作報表。
下面就介紹一下一些常用的sql*plus命令:
閱讀全文
posted @
2008-03-07 17:00 cheng 閱讀(814) |
評論 (0) 編輯
Oracle的悲觀鎖和樂觀鎖
摘要: 為了得到最大的性能,一般數據庫都有并發機制,不過帶來的問題就是數據訪問的沖突。為了解決這個問題,大多數數據庫用的方法就是數據的鎖定。
數據的鎖定分為兩種方法,第一種叫做悲觀鎖,第二種叫做樂觀鎖。什么叫悲觀鎖呢,悲觀鎖顧名思義,就是對數據的沖突采取一種悲觀的態度,也就是說假設...
閱讀全文
posted @
2008-01-25 15:40 cheng 閱讀(8078) |
評論 (0) 編輯
Like SQL語句的優化
摘要: Like SQL語句的優化的一點測試
1.盡量不要使用 like '%..%'
2.對于 like '..%..' (不以 % 開頭),Oracle可以應用 colunm上的index
3.對于 like '%...' 的 (不以 % 結尾),可以利用reverse + function index 的形式,變化成 like '..%'
閱讀全文
posted @
2008-01-23 15:58 cheng 閱讀(4303) |
評論 (2) 編輯
ORACLE批量更新三種方法比較
摘要: 昨天在網上看到一篇關于大數據量下的批量update操作的總結文章,寫得很好,在此傳載,和大家共享下。
在大型的數據庫應用中,我們經常會有針對表與表之間的關鍵建進行字段更新,那么在這個時候,我們就不能寫簡單的update來實現更新操作,而要針對具體的數據量來進行批量的update,下面幾個例子是常用的SQL,將其做個對比,歡迎大家提出更好更高效的SQL實現。
閱讀全文
posted @
2007-12-28 20:11 cheng 閱讀(11466) |
評論 (0) 編輯
Oracle中的動態SQL
摘要: 一般的PL/SQL程序設計中,在DML和事務控制的語句中可以直接使用SQL,但是DDL語句及系統控制語句卻不能在PL/SQL中直接使用,要想實現在PL/SQL中使用DDL語句及系統控制語句,可以通過使用動態SQL來實現。
閱讀全文
posted @
2007-12-17 17:22 cheng 閱讀(7159) |
評論 (0) 編輯
Oracle中的rownum和rowid
摘要: 對于 Oracle 的 rownum 問題,很多資料都說不支持>,>=,=,between...and,只能用以上符號(<、<=、!=),并非說用>,>=,=,between..and 時會提示SQL語法錯誤,而是經常是查不出一條記錄來,還會出現似乎是莫名其妙的結果來,其實您只要理解好了這個 rownum 偽列的意義就不應該感到驚奇。
rowid與rownum 雖都被稱為偽列,但它們的存在方式是不一樣的,rowid 可以說是物理存在的,表示記錄在表空間中的唯一位置ID,在DB中是唯一的。只要記錄沒被搬動過,rowid是不變的。rowid 相對于表來說又像表中的一般列,所以以 rowid 為條件就不會有rownum那些莫名其妙的結果出現。
閱讀全文
posted @
2007-12-11 19:21 cheng 閱讀(7324) |
評論 (4) 編輯
Oracle字符集問題
摘要: 對于Oracle字符集問題,出差期間在測試csp項目時候遇到過字符編碼的問題.
具體情況:Oracle客戶端字符編碼與服務器端不一致,導致用PL/SQL連數據庫時select表數據出現亂碼情況.
部署環境:客戶端是windows,其上安裝pl/sql,服務器端為suse linux其上部署Oracle服務器端 .
后經過分析,定位到了winwods注冊表中的NLS_LANG鍵值的編碼集的原因.
后網上搜尋相關文章,覺得這篇文章寫得總結性比較強,于是在此傳載,和大家分享下.
閱讀全文
posted @
2007-12-05 19:54 cheng 閱讀(2592) |
評論 (0) 編輯