首頁 > 易卦

第07篇:儲存過程——類似於函式的一類物件,可以處理複雜業務

作者:由 向陽花開滿山紅 發表于 易卦日期:2022-02-20

儲存過程和函式有什麼區別

資料庫中有這樣一類物件叫

儲存過程

,類似於C語言中的函式,封裝的一段程式碼,可以包含各種SQL語句以及前面講到的T-SQL程式設計裡的所有內容。

第07篇:儲存過程——類似於函式的一類物件,可以處理複雜業務

01

簡述

類似函式的使用,儲存過程也需要

先建立

再呼叫

。可以帶引數,也可以沒有引數,還可以帶返回值,其引數又分為

輸入引數和輸出引數

。用法比函式更靈活多樣。

關鍵詞:

儲存過程:

procedure(簡寫:proc)

建立:

create

執行:

execute(簡寫:exec)

返回:

return

輸出引數:

output

錯誤提示:

raiserror

建立儲存過程:

create proc <儲存過程名稱>

呼叫儲存過程:

exec/execute <儲存過程名稱>

第07篇:儲存過程——類似於函式的一類物件,可以處理複雜業務

儲存過程用來處理複雜的業務邏輯,可以被重複多次呼叫。其特點:

模組化程式設計

,專案分解,某段程式碼只實現一項功能任務,邏輯層次清晰;

執行速度快

,程式碼在伺服器端儲存,客戶端只需要名稱呼叫即可;

減少網路流量

,客戶端和伺服器端傳送的資料流大大減少;

提高安全性

,彌補了SQL語句天然的缺陷(注入式漏洞)。

第07篇:儲存過程——類似於函式的一類物件,可以處理複雜業務

和函式一樣,儲存過程也分為

系統儲存過程和使用者自定義儲存過程。

前面在使用程式碼建立資料庫時,就使用到了若干系統儲存過程,比如:

sp_configure、xp_cmdshell

等。系統儲存過程由系統定義,存放在master資料庫中,名稱以“sp_”或“xp_”開頭。

第07篇:儲存過程——類似於函式的一類物件,可以處理複雜業務

圖示中:

sp_databases

系統儲存過程,呼叫該名稱,

可以查詢當前伺服器上所有資料庫的名稱。

sp_renamedb

,則

可以修改舊的資料庫名稱為新名稱。

02

一般使用

本篇透過一個簡單的案例,來學習瞭解儲存過程的相關使用過程。首先準備一個學生表,包含學號、姓名、性別、年齡、地址等。其結構如下:

第07篇:儲存過程——類似於函式的一類物件,可以處理複雜業務

1、不帶引數

首先建立一個不帶任何引數的最簡單的儲存過程。

如下程式碼,透過儲存過程實現簡單的查詢功能。透過這段程式碼,讀者可以學習掌握建立儲存過程的基本語法。

第07篇:儲存過程——類似於函式的一類物件,可以處理複雜業務

對於複雜的SQL語句,諸如前面文章中講的多表查詢、子查詢等構成的查詢語句,可以被儲存過程封裝;查詢時只需要呼叫儲存過程名稱即可。