Oracle常識基礎 四

2021-09-24 13:20:50 字數 2457 閱讀 4909

<*>動態sql   

oracle中的動態sql可以通過本地動態sql命令執行,也可以通過dbms_sql程式包來執行。   

語法:   

execute immediate 動態sql語句字串   

[using  繫結輸入引數變數《引數值》]   

<*>錯誤處理   

>預定義異常   

pl/sql支援的預定義異常:   

異常    說明   

access_into_null  在未初始化物件時出現   

case_note_found   在case語句中的選項與使用者輸入的資料不匹配是出現   

collection_is_null  在給尚未初始化的表或陣列賦值時出現   

cursor_already_open  在使用者試圖開啟已經開啟的游標是出現,在重先開啟游標前必須先將其關閉   

dup_val_on_index  在使用者試圖將重複的值儲存在使用唯一索引的資料庫列中時出現。   

invalid_cursor   在執行非法的游標運算是出現。   

invalie_number   在將字串轉換為數字時出現。   

login_denied   在輸入使用者名稱或密碼無效時出現   

no_data_found   在表中不存在請求的行是出現。   

storage_error   在記憶體損壞或pl/sql耗盡記憶體時出現。   

too_many_rows   在執行select into語句後返回多行時出現。   

value_error   在產生大小限制錯誤時出現。   

zero_divide   以零做除數時出現。   

使用異常的語法:   

exception 異常名稱 then  

執行異常處理語句....   

>使用者自定義異常   

語法:   

宣告: 自定義異常名稱 exception;   

使用raise語句顯示引發:raise 自定義異常名稱   

處理: exception 自定義異常名稱 then  

執行異常處理語句....   

>引發應用程式錯誤   

語法:   

其中:   

error_number:指定的異常編號,必須在-20000和-20999之間的負整數。   

error_message:異常指定的訊息文字。長度可答2048位元組,錯誤訊息是與error_number表示關聯的文字。    

十一.游標管理   

游標是構建在pl/sql中,用來查詢資料,獲取記錄集合的指標。   

<*>靜態游標   

靜態游標是在編譯時知道其select語句的游標。   

>隱式游標    

oracle預定義了乙個sql的隱式游標,通過檢查隱式游標的屬性可以獲取與最近執行的sql語句相關的資訊。   

隱式游標的屬性:   

.. %found:在dml語句影響一行或多行時,%found屬性在返回true。   

.. %notfound:與%found的作用正好相反,如果沒有影響任何行,則返回true。   

.. %rowcount:返回dml語句影響的行數,如果沒有影響行則返回0。   

.. %isopen:返回游標是否已經開啟的值。在執行sql語句之後,oracle自動關閉sql游標,所以隱式游標的%isopen屬性始終為false。   

>顯示游標   

顯示游標是由使用者顯示宣告的游標。根據在游標中定義的查詢,查詢返回的行集合可以包含零行或多行,這些行稱為活動集。游標將指向活動集中的當前行。   

顯示游標的標準操作過程:   

1.宣告游標   

2.開啟游標   

3.從游標中獲取記錄   

4.關閉游標   

顯示游標在declare部分的宣告語法:   

cursor cursor_name [(parameter[,parameter..])]    

[return return_type] is select_statement;   

其中:    

cursor_name:是游標的名稱。   

parameter:用於為游標指定輸入引數。   

return_type:定義游標提取的行的型別。   

select_statement:指定游標的查詢語句。   

在宣告游標後可以用下列語句控制游標:   

open:開啟游標。   

fetch: 從游標中提取行。   

close: 關閉游標。   

顯示游標同樣有隱式游標的屬性並起相同。   

使用顯示游標刪除或更改:   

如果處理過程中需要刪除或更新行,在定義游標時必須使用select...for update語句,而在執行delete或update時使用where current of 字句指定游標的當前行。   a

Oracle 入門常識

認識oracle資料庫 oracle 甲骨文 公司發展史 1977年,三人合夥創辦 software development laboratories,sdl 1979年,更名為relational software inc.rsi 1983年,為了突出核心產品 rsi更名為oracle 2002年...

oracle基礎總結(四)

顯式轉換 to char date,format 按照指定的格式format把數字或日期型別的資料轉換成字串 格式 必須包含在單引號中而且大小寫敏感。可以包含任意的有效的日期格式。日期之間用逗號隔開。日期格式如下 yyyy 2004 year two thousand and four mm 02m...

oracle基礎 四 函式

1.使用特定格式插入日期值 使用to date函式 思考 如何插入列帶有日期的表,並按照年 月 日的格式插入?insert into emp values 9998,小紅 manager 7782,1988 11 11 78.9,55.33,10 上面的日期寫入不對,正確的方式如下 insert i...