農會 資訊管理類程式設計108 年第 49 題單選題
下列何者為資料庫中儲存的程式,以便外部程式呼叫的資料庫物件,其也可以視為資料庫的一種函式或子程式?
ATrigger
BStored Procedure正確答案
CView
DFunction
B正確答案
預存程式(Stored Procedure)是儲存在資料庫中、可被外部直接呼叫的子程式,與自動觸發的 Trigger 截然不同。
為什麼答案是 B
Stored Procedure(預存程式)是編譯後儲存在資料庫的 SQL 程式碼,可接受引數並由外部應用程式直接呼叫,完美符合子程式的定義。
考點:自動觸發機制考點:預存程式呼叫考點:虛擬表格概念考點:函式與回傳值
載入中…
完整詳解
Pro · 無限重點 預存程式(Stored Procedure)是儲存在資料庫中、可被外部直接呼叫的子程式,與自動觸發的 Trigger 截然不同。
看到「外部呼叫」加「子程式」秒選 Stored Procedure;Trigger 是「事件自動觸發」,View 則是「虛擬表格」。
逐選項分析
A自動觸發機制✕
Trigger(觸發程式)是事件驅動的程式碼,會在資料表發生 INSERT、UPDATE 或 DELETE 時「自動執行」,無法由外部程式直接呼叫。
B預存程式呼叫✓ 正確
Stored Procedure(預存程式)是編譯後儲存在資料庫的 SQL 程式碼,可接受引數並由外部應用程式直接呼叫,完美符合子程式的定義。
C虛擬表格概念✕
View(檢視表)是一個虛擬表格,基於 SQL 查詢的結果集,主要用於簡化複雜查詢或控制資料存取許可權,並非可執行的程式。
D函式與回傳值✕ 陷阱
Function(自訂函式)雖也是資料庫物件,但主要用於計算並回傳單一值,通常直接內嵌在 SQL 陳述式中使用,較少作為獨立子程式供外部呼叫。
資料庫四大物件比一比
| 物件名稱 | 主要用途 | 執行方式 |
|---|
| Stored Procedure | 封裝複雜業務邏輯 | 外部程式主動呼叫 |
| Trigger | 維持資料完整性與稽核 | 資料異動時自動觸發 |
| View | 簡化查詢與許可權控制 | 如同查詢虛擬表格 |
| Function | 特定計算並回傳結果 | 內嵌於 SQL 語句中 |
Function 與 Stored Procedure 極易混淆。Function 側重計算並回傳單一值,常內嵌於 SQL 語句;Stored Procedure 則可包含複雜邏輯與交易控制,是標準的子程式概念。