
- PL/SQL教程
- PL/SQL - 首頁
- PL/SQL - 概述
- PL/SQL - 環境
- PL/SQL - 基本語法
- PL/SQL - 資料型別
- PL/SQL - 變數
- PL/SQL - 常量和字面量
- PL/SQL - 運算子
- PL/SQL - 條件語句
- PL/SQL - 迴圈語句
- PL/SQL - 字串
- PL/SQL - 陣列
- PL/SQL - 儲存過程
- PL/SQL - 函式
- PL/SQL - 遊標
- PL/SQL - 記錄
- PL/SQL - 異常處理
- PL/SQL - 觸發器
- PL/SQL - 包
- PL/SQL - 集合
- PL/SQL - 事務
- PL/SQL - 日期和時間
- PL/SQL - DBMS 輸出
- PL/SQL - 面向物件
- PL/SQL有用資源
- PL/SQL - 問答
- PL/SQL - 快速指南
- PL/SQL -有用資源
- PL/SQL - 討論
PL/SQL面試題
尊敬的讀者,這些PL/SQL面試題是專門為了讓您瞭解在PL/SQL面試中可能遇到的問題型別而設計的。根據我的經驗,優秀的 interviewers 很少會提前計劃好面試中要問的具體問題,通常問題會從該主題的一些基本概念開始,然後根據後續討論和您的回答繼續進行。
PL/SQL是SQL的擴充套件。SQL是非過程化的。PL/SQL是由Oracle設計的一種過程化語言,用於克服SQL中存在的侷限性。
正確。
錯誤。PL/SQL具有結構化程式語言的所有特性,包括資料型別、變數、子程式、模組和過程結構。
塊結構語言。
儲存過程有助於更好地共享應用程式。
可移植到所有支援Oracle的環境。
與Oracle資料字典整合。
- 儲存過程和函式
- 包
- 觸發器
- 遊標
- 變數和常量
- 嵌入式SQL支援
- 流程控制
- 遊標管理
- 異常處理
- 儲存過程和包
- 觸發器
- 宣告部分
- 執行部分
- 異常處理部分
使用了錯誤的賦值運算子。正確的語法是:balance := balance + 2000;
greeting := ‘Hello’ || ‘World’;
NOT
OR
冒號(:)表示變數:deficit是一個外部變數。
它為變數分配與建立變數的列相同的 資料型別。例如,
dcode := dept.deptno%type;
變數dcode與dept表deptno列的資料型別相同。
它宣告一個複合變數,該變數等效於表的行。建立變數後,可以使用此變數的名稱訪問表的欄位。
例如
emptype := emp%rowtype;
name := emptype.empname;
包是一個將函式、遊標、儲存過程和變數組合在一個位置的檔案。
觸發器是一個儲存在資料庫中的PL/SQL程式,它在INSERT、UPDATE和DELETE命令之前或之後立即執行。
Oracle使用工作區來執行SQL命令。換句話說,當Oracle處理SQL命令時,它會在記憶體中開啟一個稱為專用SQL區域的區域。遊標是此區域的識別符號。它允許程式設計師為此區域命名並訪問其資訊。
正確。
錯誤。BEGIN宣告開始執行部分。
正確。
錯誤。PL/SQL不支援CREATE之類的 資料定義命令。
它返回SQL語句處理的行數。
如果至少處理了一行,它將返回布林值TRUE。
如果未處理任何行,它將返回布林值TRUE。
LOOP命令、FOR…LOOP命令、WHILE命令。
觸發器在無需使用者任何操作的情況下自動執行,而儲存過程需要顯式呼叫。
基本上,觸發器用於建立一致性、訪問限制和實現資料庫安全性。觸發器還用於:
建立涉及多個表搜尋的驗證機制
建立日誌以登錄檔的用法
根據當前表中的包含或更改更新其他表。
正確。
錯誤。當觸發器與檢視關聯時,基表觸發器通常會被啟用。
正確。
觸發器不能執行COMMIT、ROLLBACK或SAVEPOINT命令。
WHEN子句指定必須為真才能觸發觸發器的條件。
正確。
CREATETRIGGER命令中的可選引數[ORREPLACE]會重新建立現有的觸發器。使用此選項可以在無需先刪除觸發器的情況下更改其定義。
錯誤。INSTEADOF選項僅對檢視有效。不能在表中指定INSTEADOF觸發器。
ALTERTRIGGERupdate_marksDISABLE;
DROPTrigger命令。
DROPPROCEDURE命令。
函式返回值,而儲存過程不返回值。
使用者定義的異常在DECLARE部分使用EXCEPTION關鍵字宣告。語法:
<exception_name>EXCEPTION;
顯式遊標使用CURSOR語句顯式定義,其通用語法為:
CURSORcursor_name[(parameters)]ISquery_expression;
它允許處理返回多行的查詢。
在顯式遊標上需要執行的步驟:
DECLARE - 為遊標命名並定義其中的查詢結構。
OPEN - 執行查詢,查詢返回的行可用於提取。
FETCH - 將當前行(遊標位置)的值賦值給指定的變數。
CLOSE - 釋放記憶體空間。
PL/SQL包有兩個部分:
規範部分 - 定義應用程式的介面。
主體部分 - 定義規範的實現。
CREATEPACKAGE命令用於建立規範部分。CREATEPACKAGEBODY命令用於建立主體部分。
包中宣告的型別、物件和子程式使用點表示法引用,如下所示:
package_name.type_name
package_name.object_name
package_name.subprogram_name
正確。
DROPPACKAGE命令。
Oracle為所有僅返回一行的DDL和DML命令隱式宣告遊標。對於返回多行的查詢,將建立顯式遊標。
錯誤。當處理遊標的最後一行並且沒有其他行可用時,%NOTFOUND屬性返回true。
正確。
接下來是什麼?
接下來,您可以回顧一下您以前完成的與該主題相關的作業,並確保您能夠自信地談論它們。如果您是應屆畢業生,面試官不會期望您能夠回答非常複雜的問題,而是要確保您的基礎概念非常紮實。
其次,如果您無法回答一些問題,這並不重要,重要的是,無論您回答了什麼,都必須充滿信心。所以在面試中要自信。Tutorialspoint祝您能遇到一位好面試官,並祝您未來的事業一切順利。乾杯! :-)