保安服務禮儀培訓課件 - 中國經(jīng)理人(handlers)_第1頁
保安服務禮儀培訓課件 - 中國經(jīng)理人(handlers)_第2頁
保安服務禮儀培訓課件 - 中國經(jīng)理人(handlers)_第3頁
保安服務禮儀培訓課件 - 中國經(jīng)理人(handlers)_第4頁
保安服務禮儀培訓課件 - 中國經(jīng)理人(handlers)_第5頁
已閱讀5頁,還剩554頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 Oracle8i數(shù)據(jù)庫根底 (初稿) 趙元杰 2001年12月7日 前 言 本講稿(ORACLE8i 數(shù)據(jù)庫根底)是作者在多年的工作和授課中的總結(jié),主要包括兩個局部,第一局部是ORACLE SQL*PLUS根底,主要講述ORACLE 應用系統(tǒng)設計的根本知識和給出一些有用的實例;第二局部是介紹ORACLE PL/SQL知識,主要講述ORACLE數(shù)據(jù)庫PL/SQL程序設計所用到根本知識,這局部給出進行應用設計所必需的根底知識。這兩局部的內(nèi)容都盡可能做到內(nèi)容簡潔而全面。特點是,1.用簡單明了的語句對解釋各個局部的內(nèi)容,省去一些理論性的解釋;2.給出作者在應用設計和開發(fā)中的一些具體的例子,為軟件人員

2、提供一些借鑒,省去查閱大量資料的時間。3.給出了許多資料所沒有提供的一些使用技巧,如導出觸發(fā)器等。總之,內(nèi)容根本上包括當前Oracle8I的最新內(nèi)容。同時也覆蓋了最新的ORACLE8i OCP培訓大綱的內(nèi)容。不僅包含ORACLE 程序設計人員、DBA所必須掌握的知識,而且還含蓋了系統(tǒng)分析員所要求的內(nèi)容。與本書講稿相伴的還有?Oracle8I初級管理員?和?Oracle8I高級管理員?。 全書內(nèi)容簡練實用,可作為ORACLE 數(shù)據(jù)庫管理人員參考,也可作為應用開發(fā)人員和系統(tǒng)分析與設計人員以及大學計算機專業(yè)教學的參考資料。由于作者水平所限,加之ORACLE的產(chǎn)品與內(nèi)容的浩瀚,在資料的整理與收集中可能

3、有不少錯誤和不妥之處,希望讀者給予批評制正。 目 錄第一局部 Oracle SQL*PLUS根底21第一章 Oracle數(shù)據(jù)庫根底211.1 理解關系數(shù)據(jù)庫系統(tǒng)RDBMS211.1.1 關系模型211.1.2 Codd十二法那么221.2 關系數(shù)據(jù)庫系統(tǒng)RDBMS的組成221.2.1 RDBMS 內(nèi)核221.2.2 數(shù)據(jù)字典概念221.3 SQL、SQL*Plus及 PL/SQL231.3.1 SQL和SQL*PLUS的差異231.3.2 PL/SQL語言251.4 登錄到SQL*PLUS251.4.1 UNIX環(huán)境251.4.2 Windows NT和WINDOWS/2000環(huán)境271.5

4、常用SQL*PLUS 附加命令簡介301.5.1 等錄到SQL*PLUS301.5.2 EXIT和QUIT301.5.3 DESCRIBE(顯示表、視圖結(jié)構)311.5.4 LIST命令311.5.5 Change改變字符串命令321.5.6 Append 在末尾追加字符串命令321.5.7 Save保存當前緩沖區(qū)命令到文件331.5.8 GET將命令文件讀到緩沖區(qū)331.5.9 SPOOL將信息記錄到文件中341.5.10 在運行當前緩沖區(qū)的命令341.6 常用數(shù)據(jù)字典簡介351.7 ORACLE數(shù)據(jù)類型361.8 SQL 語句根底421.8.1 SQL語句所用符號421.8.2 簡單sel

5、ect 查詢431.9 偽列及偽表441.10 使用SQL Worksheet工作44第二章 查詢根底482.1 SELECT語句482.2 SQL中的單記錄函數(shù)482.2.1 單記錄字符函數(shù)482.2.2 單記錄數(shù)字函數(shù)542.2.3 單記錄日期函數(shù)602.2.4 單記錄轉(zhuǎn)換函數(shù)632.2.5 其它的單記錄函數(shù)662.3 SQL中的組函數(shù)712.3.1 多記錄組函數(shù)712.3.2 帶 GROUP BY 的計算732.3.3 用 HAVING 來限制分組的計算732.4 控制和格式化輸出742.4.1 用 ORDER BY 子句來對結(jié)果進行排序742.4.2 用 BREAK 命令 來對結(jié)果進行

6、排列742.4.3 用 COMPUTE 命令對結(jié)果進行格式化772.5 配置會話環(huán)境802.5.1 ARRAYSIZE取回的行數(shù)802.5.2 AUTOCOMMIT(自動提交)812.5.3 LINESIZE(行顯示寬度)812.5.4 LONG(長類型顯示字節(jié)數(shù))812.5.5 PAGESIZE(頁行數(shù))812.5.6 PAUSE(暫停)822.5.7 SPACE(列間空格)822.5.8 Termout (啟/停屏幕顯示)822.5.9 ECHO (啟/停命令顯示)822.5.10 TRANSACTION (啟動事務)832.6 格式化輸出832.6.1 一般數(shù)據(jù)的格式化輸出832.6.2

7、 日期的格式化輸出842.7 加標題852.8 建立簡單報告86第三章 表及索引的定義操作873.1 建立表結(jié)構873.1.1 建立表結(jié)構命令873.1.2 建立表結(jié)構例子893.3 修改表結(jié)構903.3.1 修改表結(jié)構命令903.3.2 修改表結(jié)構例子913.3.3 刪除表結(jié)構933.3.4 使用CHECK作限制約束933.3.5 使用UNRECOVERABLE創(chuàng)立表943.3.6 將表移動到新的數(shù)據(jù)段或新的表空間943.3.7 手工分配表的存儲空間963.3.8 標記不使用的列和刪除不使用的列963.3 主鍵983.3.1 創(chuàng)立主鍵983.3.2 改變主鍵1003.3.3 刪除主鍵1013

8、.4 外部鍵1013.4.1 建立外部鍵1023.4.2 修改外部鍵1033.4.3 刪除外部鍵1043.5 索引*1043.5.1 建立索引1043.5.2 修改索引1053.5.3 刪除索引1063.6 新索引類型1073.6.1 基于函數(shù)的索引1073.6.2 反向鍵索引1083.6.3 索引組織表Index_Organized Table1093.7 抽象數(shù)據(jù)類型的使用1093.8 大數(shù)據(jù)類型的使用1103.8.1 可用數(shù)據(jù)類型1103.8.2 為LOB數(shù)據(jù)類型指定存儲1113.8.3 操作和檢索LOB數(shù)據(jù)112第四章 視圖、同義詞和序列1164.1 視圖1164.1.1 使用視圖來修

9、改表中數(shù)據(jù)1164.1.2 創(chuàng)立一個新視圖1164.1.3 刪除一個視圖1174.1.4 改變視圖1184.2 實體視圖(MATERIALIZED VIEW)1194.2.1 創(chuàng)立實體視圖1194.2.2 創(chuàng)立實體視圖日志1244.2.3 修改實體視圖1264.2.4 修改實體視圖日志1284.3 序號(sequence)1284.3.1 建立序號1284.3.2 修改序號1294.3.3 使用序號1304.3.4 刪除序號1304.4 同義詞1304.4.1 建立同義詞1304.4.2 刪除同義詞131第五章 簇與分區(qū)1335.1 簇( cluster )1335.1.0 簇概念1335.1

10、.1 建立簇1345.1.2 改變簇1375.1.3 刪除簇1375.1.4 刪除簇索引1385.1.5 收集簇信息1385.2 分區(qū)1395.2.1 ORACLE8 分區(qū)的優(yōu)點1395.2.2 分區(qū)的方法1405.2.3 創(chuàng)立表的分區(qū)1405.2.3 創(chuàng)立索引的分區(qū)1455.2.4 維護表分區(qū)和索引分區(qū)148第六章 使用SQL 進行數(shù)據(jù)操作1496.1 INSERT操作1496.1.1 用文字插入操作1506.1.2 用子查詢插入操作1506.2 UPDATE操作1516.2.1 用文字更新操作1526.2.2 用查詢更新操作1526.2.3 用相關子查詢更新操作1536.3 DETELE操

11、作1536.3.1 用delete刪除全部記錄的操作1536.3.2 用delete有條件刪除局部記錄1546.3.3 用delete分段刪除大量記錄1546.4 insert、delete及update 的提交和撤消1556.4.1 自動提交的設置1556.4.2 保存點和撤消156第七章 復雜查詢語句的使用1597.1 復雜查詢語句的使用1597.1.1 相關子查詢1597.1.2 外連接1597.1.3 UNION,INTERSECT及MINUS1607.2 用SQL*PLUS建立簡單報表1617.3 創(chuàng)立復雜的視圖1627.3.1 分組視圖1637.3.2 合計視圖1637.3.3 組

12、合視圖1637.4 家族樹1647.4.1 排除單一體和分枝1647.4.2 編歷至根1657.5 在from 中使用視圖166第八章 一些高級的用法*1688.1 關于DECODE1688.1.1 DECODE 中的if-then-else邏輯1688.1.2 DECODE 的簡單例子*1688.1.3 DECODE實現(xiàn)表的轉(zhuǎn)置1688.2 關于訪問遠程數(shù)據(jù)庫1718.2.1 數(shù)據(jù)庫鏈接1728.2.2 使用同義詞獲得本地透明1738.2.3 在視圖中使用user偽列1738.2.4 使用COPY功能1758.2.5 管理Oracle名稱效勞器1768.3 關于上下文的使用*1768.3.1

13、 設置上下文選項1768.3.2 為上下文查詢設置表1778.3.3 優(yōu)化文本索引179第九章 平安管理1809.1 CREATE USER 命令1809.2 建立用戶1819.2.1 外部驗證Authenticated 用戶1819.2.2 全局(Globally)驗證用戶-企業(yè)驗證1819.3 ALTER USER 命令1829.4 DROP USER 命令1829.5 GRANT 命令與REVOKE 命令1839.5.1 GRANT 命令1839.5.2 REVOKE 命令1839.6 權限和角色1849.6.1 建立角色1849.6.2 給角色授權1859.6.3 授權角色給用戶186

14、9.7 有關的數(shù)據(jù)字典186第十章 其它一些常見問題及技巧18710.1 其它一些問題18710.1.1 Oracle與2000年問題18710.1.2 在查詢中只需返回滿足條件的局部記錄18810.1.3 快速大量刪除數(shù)據(jù)Truncate18810.1.4 Rowid的使用18810.1.5 在查詢中不讓記錄被更新18910.1.6 EXCEPTIONS違反完整性問題18910.1.7 Not in和Not Exists19010.1.8 Set語句19010.1.9 關于 COPY命令19110.1.10 使用 product_user_file來限制用戶使用產(chǎn)品19210.2 常用技巧1

15、9310.2.1 long 類型的查詢19310.2.2 如何確定執(zhí)行時間19310.2.3 如何終止用戶會話19410.2.4 用TRANSLATE對數(shù)據(jù)加密和解密19510.2.5 如何用查詢來修改數(shù)據(jù)19710.2.6 如何產(chǎn)生創(chuàng)立用戶的腳本19710.2.7 如何產(chǎn)生創(chuàng)立表結(jié)構的腳本19810.2.8 如何產(chǎn)生創(chuàng)立視圖的腳本20010.2.9 如何產(chǎn)生創(chuàng)立序號的腳本200第二局部 Oracle PL/SQL根底202第十一章 PL/SQL 程序設計簡介20211.1 概述20211.2 SQL與PL/SQL20211.2.1 什么是PL/SQL?20211.2.1 PL/SQL的好處2

16、0311.2.1.1 有利于客戶/效勞器環(huán)境應用的運行20311.2.1.2 適合于客戶環(huán)境20311.2.1.3 客戶及效勞器端的好處20311.2.2 PL/SQL 可用的SQL語句20411.3 運行PL/SQL程序20411.4 PL/SQL內(nèi)置包205第十二章PL/SQL 塊結(jié)構和組成元素20612.1 PL/SQL結(jié)構20612.2 PL/SQL塊20712.3 標識符20712.4 PL/SQL 變量類型20812.4.1 變量類型20812.4.2 復合類型記錄和表20912.4.2.1 記錄類型20912.4.3 使用%ROWTYPE21112.4.4 LOB類型*21112

17、.4.5 用戶定義的子類型21212.4.6 數(shù)據(jù)類型的轉(zhuǎn)換*21412.5 運算符和表達式(數(shù)據(jù)定義)21412.5.1 關系運算符21412.5.2 一般運算符21512.5.3 邏輯運算符21512.6 變量賦值21612.6.1 字符及數(shù)字運算特點21612.6.2 Boolean 賦值21612.6.3 數(shù)據(jù)庫賦值21712.6.4 可轉(zhuǎn)換的類型賦值21712.7 變量作用范圍以可見性21912.8 注釋21912.9 簡單例子22012.9.1 簡單數(shù)據(jù)插入例子22012.9.2 簡單數(shù)據(jù)刪除例子221第十三章PL/SQL 處理流程22113.1 條件語句22113.2 循環(huán)222

18、13.3 標號和GOTO22513.4 NULL 語句226第十四章 光標的使用22614.1 光標概念22614.1.1 處理顯式光標22714.1.2 處理隱式光標22814.2 光標循環(huán)22914.2.1 簡單循環(huán)22914.2.2 WHILE循環(huán)23014.2.3 光標 FOR 循環(huán)23114.2.4 關于NO_DATA_FOUND和%NOTFOUND23114.2.5 SELECT FOR UPDATE 光標23214.3 光標變量23314.3.1 聲明光標變量23314.3.2 為光標變量分配存儲空間23314.3.3 翻開光標變量23314.3.4 關閉光標變量23414.3.

19、5 光標變量例子23414.3.6 光標變量236第十五章 錯誤處理23815.1 異常處理概念23815.1.1 預定義的異常處理23915.1.2 觸發(fā)異常情態(tài)23915.1.3 處理異常情態(tài)24015.1.4 用戶定義的異常處理24115.2 異常情態(tài)傳播24315.2.1 在執(zhí)行局部引發(fā)異常情態(tài)24315.2.2 在聲明局部引發(fā)異常情態(tài)24315.3 異常處理編程24415.4 在 PL/SQL 中使用 sqlcode,sqlerrm245第十六章 存儲過程和函數(shù)24716.1 引言24716.2 存儲過程24716.2.1 創(chuàng)立過程24716.2.2 使用過程+24816.2.3 開

20、存儲過程步驟24916.2.3.1 編輯存儲過程源碼+25016.2.3.2 對存儲過程程序進行解釋+25016.2.3.3 調(diào)試源碼直到正確+25016.2.3.4 授權執(zhí)行權給相關的用戶或角色+25016.2.4 與過程相關數(shù)據(jù)字典+25116.3 創(chuàng)立函數(shù)25116.4 過程和函數(shù)中的例外處理25316.4.1 使用系統(tǒng)定義的例外處理25316.4.1.1 沒有例外處理的缺點25316.4.1.2 使用預定義的例外處理25316.4.2 使用用戶定義的例外處理+25616.4.2.1 定義的用戶例外處理25616.4.2.2 使用戶EXCEPTION_INIT處理25716.4.2.3

21、使用戶raise_application_error處理257第十七章 創(chuàng)立包和使用包25817.1 引言25817.2 包的定義25817.3 包的開發(fā)步驟25917.4 包的頭部說明26017.5 包體的說明26017.6 刪除過程、函數(shù)和包27217.7 包的管理27317.7.1 包有關的數(shù)據(jù)字典27317.7.2 包中無效對象的查詢和編譯27417.7.3 包源代碼的導出275第十八章 觸發(fā)器27618.1 觸發(fā)器類型27618.1.1 DML觸發(fā)器27618.1.2 替代觸發(fā)器27618.1.3 系統(tǒng)觸發(fā)器27618.2 創(chuàng)立觸發(fā)器27718.2.1 創(chuàng)立DML觸發(fā)器27718.2

22、.2 創(chuàng)立替代(Instead_of)觸發(fā)器27818.2.3 創(chuàng)立系統(tǒng)觸發(fā)器27918.2.4 觸發(fā)器觸發(fā)次序28118.2.5 使用觸發(fā)器謂詞28118.3 刪除和使能觸發(fā)器28218.4 變異表*28218.3.1 變異表典型例子28318.3.2 變異表錯誤的處理28518.5 觸發(fā)器數(shù)據(jù)字典與管理28618.5.1 觸發(fā)器數(shù)據(jù)字典28618.5.2 無效觸發(fā)器的編譯287第十九章 外部存儲過程28919.1 什么是外部例程28919.2 C外部例程28919.2.1 調(diào)用步驟29019.2.2 參數(shù)映射( 轉(zhuǎn)換)29519.3 JAVA外部例程297第二十章 會話間通信29820.1

23、 DBMS_PIPE29820.1.1 發(fā)送消息30220.1.2 接收消息30320.1.3 例如30420.2 DBMS_ALTER31920.3 比擬DBMS_PIPE 和 DBMS_ALTER321第二十一章 數(shù)據(jù)庫作業(yè)和文件I/O32221.1 數(shù)據(jù)庫作業(yè)322后臺進程322運行作業(yè)322失效作業(yè)324刪除作業(yè)325修改作業(yè)參數(shù)326與作業(yè)參數(shù)有關數(shù)據(jù)字典32821.2 文件I/O32921.2.1 平安性32921.2.2 翻開和關閉文件329文件輸出331文件輸入332文件操作例子333第二十二章 在PL/SQL 使用SQL語句33322.1在PL/SQL 使用DML語句3332

24、2.2 偽列33522.3 grant,revoke 和權限33622.3.1 對象和系統(tǒng)權限33622.3.2 GRANT和REVOKE33722.4 事務控制33722.4.1 COMMIT 和 ROLLBACK33722.4.2 保存點 SAVEPOINT33822.5 在PL/SQL中使用SQL函數(shù)33922.5.1 錯誤處理函數(shù)34022.5.2 數(shù)字函數(shù)340第二十三章 PL/SQL程序的測試和調(diào)試34123.1 問題診斷34123.1.1 調(diào)試指南34123.1.2 顯示在編譯產(chǎn)生的錯誤34123.2 插入測試表34223.3 DBMS_OUTPUT的使用34223.4 PL/S

25、QL調(diào)試器34323.4.1 Procedure Builder調(diào)試器*34423.4.2 SQL-Station調(diào)試器34423.5 程序設計方法34423.5.1 模塊化程序設計344自頂向下設計34423.5.3 數(shù)據(jù)抽象345第二十四章 性能及其它問題34624.1共享池34624.1.1 共享池工作原理34624.1.2 估計共享池大小34724.1.3 將PL/SQL 駐留在共享池中34824.2 SQL 語句調(diào)整34924.3 網(wǎng)絡問題35224.4 在PL/SQL中查詢單條記錄35224.5 PL/SQL wrap(轉(zhuǎn)換器)35324.5.1 運行 wrap實用程序35324.

26、5.2 輸入和輸出文件35324.6 DBMS_OUTPUT的使用354第二十五章 對象類型35625.1 對象類型定義*35625.1.1 定義對象類型頭*35625.1.2 定義對象類型體*35625.1.3 定義對象類型例子35725.1.4 初始化對象類型35825.1.5 使用對象類型35925.2 對象類型修改*36025.3 對象類型刪除*361第二十六章 動態(tài)PL/SQL簡介36326.1 概述36326.1.1 靜態(tài)和動態(tài)SQL36326.1.2 DBMS_SQL 概述36326.2 執(zhí)行非DML 和DDL語句36526.2.1 翻開光標36526.2.2 分析語句36526

27、.2.3 聯(lián)編輸入變量366執(zhí)行語句368關閉光標368例如368執(zhí)行DDL 語句36926.3 執(zhí)行 PL/SQL *37126.4使用 PL/SQL : 執(zhí)行任意內(nèi)置過程*37126.5 PL/SQL 8.0 功能37126.5.1 分析大型SQL串*37226.6 將 LONG 寫入 FILE 文件中*37226.7 權限和 DBMS_SQL *372第二十七章 大型對象和DBMS_LOB包-37227.1 LOB類型一般使用37227.1.1 LOB類型存儲37227.1.2 臨時LOB類型37327.1.3 LOB類型的接口373第二十八章 PL/SQL包-374附錄A:SQL及SQ

28、L*PLUS 命令參考374%FOUND374%ISOPEN375%NOTFOUND376%ROWCOUNT376%ROWTYPE377%TYPE378(+)379 (“at sign)379379ABS380ACCEPT380ACOS381ADD_MONTHS381ALTER CLUSTER382ALTER DATABASE382ALTER FUNCTION383ALTER INDEX384ALTER PACKAGE384ALTER PROCEDURE385ALTER PROFILE385ALTER RESOURCE COST386ALTER ROLE387ALTER ROLLBACK SE

29、GMENT387ALTER SEQUENCE387ALTER SESSION388ALTER SNAPSHOT389ALTER SNAPSHOT LOG390ALTER SYSTEM390ALTER TABLE391ALTER TABLESPACE392ALTER TRIGGER392ALTER TYPE393ALTER USER394ALTER VIEW395ANALYZE395APPEND396ASCII396ASIN397ATAN397ATAN2398AUDIT398AVG399BFILENAME399BLOCK400BTITLE401CEIL402CHANGE403CHARTOROWI

30、D403CHR404CLEAR404CLOSE405COLUMN405COMMENT406COMMIT407COMPUTE407CONCAT408CONCATENATE408CONNECT BY409CONVERT409COPY410COS411COSH411COUNT412CREATE CLUSTER412CREATE CONTROLFILE413CREATE DATABASE414CREATE DATABASE LINK415CREATE PROFILE415CREATE DIRECTORY416CREATE FUNCTION416CREATE INDEX417CREATE LIBRARY

31、418CREATE PACKAGE418CREATE PACKAGE BODY419CREATE PROCEDURE421CREATE ROLE422CREATE ROLLBACK SEGMENT422CREATE SCHEMA423CREATE SEQUENCE424CREATE SNAPSHOT424CREATE SNAPSHOT LOG425CREATE SYNONYM426CREATE TABLE426CREATE TABLESPACE428CREATE TRIGGER429CREATE TYPE430CREATE TYPE BODY431CREATE USER431CREATE VI

32、EW432CURRVAL433CURSOR_ALREADY_OPEN433DATATYPE434DATATYPE CHAR434DATATYPE DATE435DATATYPE FLOAT435DATATYPE LONG435DATATYPE LONGRAW436DATATYPE MLSLABEL436DATATYPE NUMBER436DATATYPE RAW437DATATYPE ROWID437DATATYPE VARCHAR437DATATYPE VARCHAR2437DECLARE438DECODE438DEFINE439DEL439DELETE440DEREF441DESCRIBE

33、441DROP CLUSTER442DROP DATABASE LINK442DROP DIRECTORY443DROP FUNCTION443DROP INDEX443DROP LIBRARY444DROP PACKAGE444DROP PROCEDURE445DROP PROFILE445DROP ROLE446DROP ROLLBACK SEGMENT446DROP SEQUENCE447DROP SNAPSHOT447DROP SNAPSHOT LOG447DROP SYNONYM448DROP TABLE448DROP TABLESPACE449DROP TRIGGER449DROP

34、 TYPE450DROP TYPE BODY450DROP USER451DROP VIEW451DUMP452DUP_VAL_ON_INDEX452EDIT453EMPTY_BLOB453EMPTY_CLOB454EXCEPTION INIT Pragma454EXECUTE455EXISTS455EXIT456EXIT457EXIT-WHEN457EXP458EXPLAIN PLAN458FETCH459FLOOR460FOR-LOOP460FORMAT461FORMAT DATE461FORMAT NUMBER462GET462GLB463GOTO463GRANT464GREATEST4

35、65GREATEST_LB465HEXTORAW466HOST466IF-THEN467IF-THEN-ELSE467IF-THEN-ELSEIF468INITCAP469INPUT469INSERT470INSTR470INSTRB471INTERSECT472INVALID_CURSOR472INVALID_NUMBER473KEYWORDS474LABELS475LAST_DAY476LEAST476LEAST_LB477LENGTH477LENGTHB477LIKE478LIST479LN480LOCK TABLE480LOG481LOGIN_DENIED481LOOP482LOWER

36、483LPAD483LTRIM484LUB484MAKE_REF485MAX485MIN486MINUS486MOD487MONTHS_BETWEEN487NEW_TIME488NEXT_DAY489NEXTVAL489NLS_CHARSET_DECL_LEN490NLS_CHARSET_ID490NLS_CHARSET_NAME491NLS_INITCAP491NLS_LOWER492NLS_UPPER492NO_DATA_FOUND493NOAUDIT494NOT_LOGGED_ON494NULL495NVL496OPEN496OPEN-FOR497OPERATOR497OPERATOR

37、498OPERATOR498OPERATOR =499OPERATOR! =499OPERATOR*500OPERATOR+501OPERATOR-*501OPERATOR/502OPERATOR下發(fā) set pause on 命令。由于SQL*PLUS命令較多,下面僅給出最常用的幾個命令的說明,詳細的請參考附錄。1.5.1 等錄到SQL*PLUS可以用下面命令登錄退出SQL*PLUS,SQL*PLUS命令的簡單語法如下:SQLPLUS logon | start logon可以是:username/passwordconnect_identifier|/ AS SYSOPER|SYSDBA|

38、/NOLOG注1:SQLPLUS 主要是在命令方式下使用,在NT、WINDOWS/2000、UNIX的用法都一樣。注2:如果在UNIX下,SQLPLUS命令不被識別不存在,那么問題在環(huán)境變量PATH沒有設置正確或者沒有設置。SQLPLUS 可執(zhí)行程序在$ORACLE_HOME/bin 目錄下。1.5.2 EXIT和QUIT 可以用 exit 或quit 來終止SQL*PLUS的操作會話。語法如下:EXIT|QUIT SUCCESS|FAILURE|WARNING EXIT|QUIT 可以用exit 或quit ,目前它們的功能一樣。SUCCESS 正常退出FAILURE 帶提示錯誤代碼的退出W

39、ARNING 帶提示警告代碼的退出COMMIT 退出前將未提交進行保存例如:SQLexit1.5.3 DESCRIBE(顯示表、視圖結(jié)構) DESCRIBE可以用(只要用DESC即可)來顯示表、視圖的列的定義,也可以顯示同義詞、函數(shù)或存儲過程的說明。語法如下:DESCRIBE schema.objectconnect_identifierSchema:用戶名,如果省去,那么為對象的所有者。object可以是 表table, 視圖view,類型 type, 存儲過程procedure,函數(shù) function, 包package或同義詞 synonymconnect_identifier數(shù)據(jù)庫連接

40、字串例:顯示emp 表的結(jié)構:SQLdesc emp1.5.4 LIST命令 可以用 LIST 命令來列出當前SQL緩沖區(qū)中的一行或多行命令語句。 LIST n|n m|n *|n LAST|*|* n|* LAST|LASTn 列出第n行n m 列出n到m行n * 列出第n行到當前行n LAST 列出第n行到最末行* 列出所有行* n 列出當前行到第n行* LAST列出當前行到最末行LAST 列出最末行例:SQL LIST1 SELECT ENAME, DEPTNO, JOB2 FROM EMP3 WHERE JOB = CLERK4* ORDER BY DEPTNO1.5.5 Change

41、改變字符串命令 可以用Change命令來改變字符串即替換字符串。語法如下:CHANGE sepchar old sepchar new sepcharSepchar 為分隔符,可以是/ 或! - 請使用者特別注意Old 舊字串New 新字串例:將 除號(/)改為 乘號 * ,那么需要命令為c !/!*!。即:SQL l 1* select sal,sal/100 from empSQL c !/!*!提醒:對于修改 / 字符的只能用 ! 來作分隔符(上例)。例:將乘號 * 改為 加號 + ,那么需要命令為c !/!*!。即:SQL l 1* select sal,sal*100 from em

42、pSQL c/*/+/ 1* select sal,sal+100 from empSQL1.5.6 Append 在末尾追加字符串命令 可以用 Append命令來完成在當前行的末尾追加字符串。語法如下:APPEND textText 所要求追加的字符串例:在當前行select sal,sal+100 from emp 后加 where sal=2000,那么:SQL l 1* select sal,sal+100 from empSQL a where sal=2000 1* select sal,sal+100 from emp where sal=2000SQL1.5.7 Save保存當

43、前緩沖區(qū)命令到文件可以用SAVE命令將當前的命令行保存到操作系統(tǒng)的文件中。語法如下:SAVE filename.ext CREATE|REPLACE|APPEND其中:filename:你將把緩沖區(qū)中的內(nèi)容存入到操作系統(tǒng)目錄的文件名。ext:假設使用文件后綴,缺省的文件后綴為SQL。例:SQLselect table_name from dict where table_name like %ROLE%;SQLsave c:get_role1.5.8 GET將命令文件讀到緩沖區(qū)可以用GET 命令將操作系統(tǒng)的目錄下的命令文件讀到緩沖區(qū)但不執(zhí)行。語法如下:GET filename .ext LIS

44、T|NOLIST其中:filename: 希望加載到SQL緩沖區(qū)的文件名ext: 文件的擴展名,缺省為 SQL.例:SQLget c:get_role1.5.9 SPOOL將信息記錄到文件中Oracle的SPOOL 命令可以實現(xiàn)將屏幕所出現(xiàn)的一切信息記錄到操作系統(tǒng)的文件中直到SPOOL OFF為止。語法如下:SPOOL filename.ext | OFF | OUT其中:filename:你想輸出spool的文件名。ext:文件的后綴。缺省的后綴是LST或LIS。SQLcol table_name for a20SQLcol cimmnets for a80SQLset linesize 1

45、10SQLSPOOl c:all_dictSQLselect table_name,commnets from dict; . . . . . . (系統(tǒng)查詢信息)SQLSPOOL OFF1.5.10 在運行當前緩沖區(qū)的命令在SQL方式下,如果希望在運行當前的命令,可用Run(或R)或用 / 來實現(xiàn),如:SQL set lin 120SQL select table_name from dict where table_name like %ROLE%;TABLE_NAME-DBA_ROLESDBA_ROLE_PRIVSUSER_ROLE_PRIVSROLE_ROLE_PRIVSROLE_SY

46、S_PRIVSROLE_TAB_PRIVSSESSION_ROLES已選擇7行。SQL l 1* select table_name from dict where table_name like %ROLE%SQL /TABLE_NAME-DBA_ROLESDBA_ROLE_PRIVSUSER_ROLE_PRIVSROLE_ROLE_PRIVSROLE_SYS_PRIVSROLE_TAB_PRIVSSESSION_ROLES已選擇7行。1.6 常用數(shù)據(jù)字典簡介ORACLE 提供許多內(nèi)部數(shù)據(jù)字典, 用以管理系統(tǒng)的各種信息和參數(shù)即數(shù)據(jù)庫對象,下面列出幾個常用的數(shù)據(jù)字典供初學者參考,其它方面的數(shù)據(jù)

47、字典將在DBA管理中介紹。ORACLE 數(shù)據(jù)字典的命名說明:USER 為前綴-記錄用戶的所有對象信息ALL 為前綴-記錄包括 USER 記錄和授權給PUBLIC 或該用 戶的所有對象的信息。DBA 為前綴-記錄關于數(shù)據(jù)庫對象非用戶對象的信息。V$ 公共系統(tǒng)動態(tài)視圖,用于系統(tǒng)優(yōu)化和調(diào)整參考.V_$ 動態(tài)性能視圖你可用 CATALOG.SQL 建立動態(tài)視圖建立同義詞。GV$ 新(oracle 8)的附加的固定視圖(Global V$).在并行環(huán)境下反響的是 V$視圖的信息。如:SELECT * FROM GV$LOCK WHERE INST_ID = 2 OR INST_ID = 5 ;返回的是i

48、nstances 2 和5的V$的信息。所以GV$反響一組Instances的參數(shù). GV$視圖的限制是參數(shù)PARALLEL_MAX_SERVERS必須大于0 。詳見 Oracle Enterprise Manager Administrators Guide. 注:請注意下面的總結(jié):l 一般DBA_ 的視圖內(nèi)容都包含USER_和ALL_為前綴的視圖;l DBA_為前綴的視圖的內(nèi)容根本上是大寫;l 以V$_為前綴的視圖的內(nèi)容根本上是小寫。1. USER_TABLEs(=TABS) 用戶的所有表的信息。2USER_TAB_COLUMNS=COLS 有關各表的列字段的信息3USER_VIEWS 用

49、戶的所有視圖4USER_SYNONYMS=SYN 用戶同義詞5USER_SEQUENCES(=SEQ) 用戶序列6USER_CONSTRAINTS 記錄在數(shù)據(jù)庫時常用于檢查數(shù)據(jù)有何限制。7USER_TAB_COMMENTS 表的注釋。如: Comment on table emp is 職工表;8 USER_COL_COMMENTS 列字段注釋。如: Comment on column emp.ename is 姓名;9 USER_INDEXES(=IND) 用戶索引的簡要信息10 USER_IND_COLUMNS 用戶索引的列信息11 USER_TRIGGERS 用戶觸發(fā)器信息12 USER

50、_SOURCE 用戶存儲過程13 USER_TABLESPACE 用戶可以使用的表空間信息14 USER_TS_QUOTAS 用戶使用系統(tǒng)資源的信息15 USER_SEGMENTS 用戶對象所使用空間信息16 USER_EXTENTS 用戶的擴展段信息17 USER_OBJECTS 用戶對象=USER_TABLES+USER_VIEWS+USER_INDEXES+ USER_SOURCE+USER_TRIGGERS18 USER_PART_TABLES 用戶分區(qū)信息19 USER_TAB_PARTITIONS20 USER_PART_COL_STATISTICS21 USER_IND_PART

51、ITIONS22 USER_FREE_SPACE23 CAT(=USER_CATALOG) 用戶可以訪問的所有的基表。24 TAB 用戶創(chuàng)立的所有基表,視圖,同義詞等。25 DICT=DICTIONARY 構成數(shù)據(jù)字典的所有表的信息。提示:雖然Oracle提供可以用Comment on column tablename.column is xxxx; 等來實現(xiàn)對表或列進行注釋,但不建議設計者采用這樣的工作方式。而建議將注釋寫到腳本中更為直觀。1.7 ORACLE數(shù)據(jù)類型Oracle數(shù)據(jù)庫的數(shù)據(jù)類型與其它的數(shù)據(jù)庫系統(tǒng)相比,它的數(shù)據(jù)類型不多,Oracle在表示數(shù)據(jù)方面比其他數(shù)據(jù)庫系統(tǒng)來說要省去許多

52、關鍵字。Oracle只用NUMBER(m,n)就可以表示任何負責和精度的數(shù)據(jù)。其它如日期類型等也簡單得多,只DATE就表示日期和時間。下面以列表形式給出各個版本的Oracle系統(tǒng)數(shù)據(jù)類型的表示方法。下面給出Oracle舊版本的數(shù)據(jù)類型的目的是讓讀者了解Oracle的變化,另外就是你在對舊版本進行升級或數(shù)據(jù)轉(zhuǎn)換時要注意各個版本的差異。ORACLE5、ORACLE6數(shù)據(jù)類型數(shù)據(jù)類型說明Char可變長字符型,254Varchar2可變長字符型,2000Number(m,n)數(shù)字類型,含整數(shù)、小數(shù)等Date日期型,含時間,缺省格式為mmm-dd-yyyy hh:mi:ss占7字節(jié)Long存儲大型可變長

53、字符串,2GBRaw存儲短二進制串,2GBLong raw存儲長二進制串,2GB ORACLE7數(shù)據(jù)類型數(shù)據(jù)類型說明Char定長字符,255個字符Varchar變長字符,2000個字符Varchar2變長字符,2000個字符Number(m,n)數(shù)字類型,含整數(shù)、浮點、雙精度等Long存儲大型可變長字符串,2GBRaw存儲可變短二進制數(shù),2000Long raw存儲大型可變長二進制數(shù),2GB ORACLE8/8i 數(shù)據(jù)類型數(shù)據(jù)類型說明Char定長字符,2000個字符Varchar同Varchar2可變字符,2000個字符Varchar2變長字符,2000個字符Date固定長度7字節(jié)的日期型Nu

54、mber數(shù)字型,可存放實型和整型Long可變字符,2GB個字符Raw可變二進制數(shù)據(jù),4000字節(jié)Long raw可變二進制數(shù)據(jù),2GBMLSLABEL僅Trusted Oracle 用長度在25字節(jié)間Blob大二進制對象,4GBClob大字符串對象,4GBNclob多字節(jié)字符集的Clob,4GBBfile外部二進制文件,大小由OS決定CHAR()定長字符型在Oracle5 、Oracle6 是變長,字符長度不夠自動在右邊加空格符號。當字符長度超出2000個那么錯誤。不指定大小缺省為 1。VARCHAR()可變字符型,當前與VARCHAR2()相同。VARCHAR2()可變字符型,當前與VARC

55、HAR()相同。VARCHAR2 類型的字段列可存放4000個字符;但是VARCHAR2 變量可以存放32,767 個字符。大小必須指定。NCHAR()和NVARCHAR2()NCHAR 和NVARCHAR2 分別與 CHAR和VARCHAR2 有相同的大小。并用于于存放 National Language Support (NLS)數(shù)據(jù),Oracle 允許以本地語言存放數(shù)據(jù)和查詢數(shù)據(jù)。如果將列名聲明成NCHAR、NVARCHAR2這樣的類型,那么insert和 select 等語句中的具體值前加N,不能直接按照普通字符類型進行操作??聪旅胬樱篠QL create table nchar_t

56、st(name nchar(6),addr nvarchar2(16),sal number(9,2);表已創(chuàng)立。SQL insert into nchar_tst values(N趙元杰,N北京市海淀區(qū),9999.99);已創(chuàng)立 1 行。SQL select * from nchar_tst where name like N趙%;NAME ADDR SAL- - -趙元杰 北京市海淀區(qū) 9999.99SQL select * from nchar_tst where name like 趙%;select * from nchar_tst where name like 趙% *ERROR

57、 位于第 1 行:ORA-12704: 字符集不匹配.提示:雖然Oracle可以使用nchar, nvarchar2 類型來存放字符數(shù)據(jù),但建議設計者不要使用NCHAR和NVARCHAR2。因為CHAR和VARCHAR2就能存放漢字。NUMBER(,) 是數(shù)據(jù)的整數(shù),是數(shù)據(jù)的精度即小數(shù)局部,注意,局部可以表示負的精度。用可以表示從小數(shù)點往右或往左保存多少位。如下表:實際值數(shù)據(jù)類型存儲值1234567.89Number1234567.891234567.89Number(8)12345681234567.89Number(6)出錯1234567.89Number(9,1)1234567.9123

58、4567.89Number(9,3)出錯1234567.89Number(7,2)出錯1234567.89Number(5,-2)12346001234511.89Number(5,-2)12345001234567.89Number(5,-4)12300001234567.89Number(*,1)1234567.9Sal number(7,2), -表示5位整數(shù),2位小數(shù).DATEOracle 的日期型用7個字節(jié)表示,每個日期型包含如下內(nèi)容:l Centuryl Yearl Monthl Dayl Hourl Minutel Second日期型字段有下面特點:l 日期型字段的插入和更新可以

59、數(shù)據(jù)型或字符并帶to_date 函數(shù)說明即可。l 缺省的日期格式有NLS_DATE_FORMAT參數(shù)控制,它的缺省格式為DD-MON-YY。l 缺省的時間是夜里 00:00:00 (即0點 0分0秒)。l sysdate返回的是效勞器的時間,見下面例子。l 日期格式的顯示可以設置,見下面例子。l 日期型可以運算,見下面例子。見下面例子。l 世紀用cc 表示;年用yyyy表示,月用mm表示,日用dd表示,小時用hh24表示,分用mi表示,秒用ss表示。例子:SQL create table save_info(per_id varchar2(20),name varchar2(20),tran_

60、date date, 2 tran_val number(12,2);表已創(chuàng)立。 2 to_date(2001.06.18,yyyy.mm.dd),12345.66);已創(chuàng)立 1 行。SQL select * from save_info;PER_ID NAME TRAN_DATE TRAN_VAL- - - -SQL select per_id,name,to_char(tran_date,yyyy/mm/dd),tran_val from save_info;PER_ID NAME TO_CHAR(TR TRAN_VAL- - - -SQL show parameter nls_date_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論