五 儲存過程

2021-08-26 13:49:22 字數 1614 閱讀 3241

儲存過程

儲存過程是在大型資料庫系統中,一組為了完成特定功能的sql 語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數(如果該儲存過程帶有引數)來執行它。

建立儲存過程

create

procedure

procedue_name

[@parameter data_type

][output][

with]

assql_statement

解釋:

output:表示此引數是可傳回的

with

recompile:表示每次執行此儲存過程時都重新編譯一次

encryption:所建立的儲存過程的內容會被加密

sql儲存過程學習例子:儲存過程的建立

表book的內容如下

編號     書名      **

001c語言入門     $

30002

powerbuilder報表開發  $

52例項1:查詢表book的內容的儲存過程

create

proc

query_book

asselect

*from

book

goexec

query_book

例項2:加入一筆記錄到表book,並查詢此表中所有書籍的總金額

create

proc

insert_book

@param1

char(10

),@param2

varchar(20

),@param3

money

,@param4

money

output

with

encryption

---------加密

asinsert

book(編號,書名,**)

values

(@param1

,@param2

,@param3

) select

@param4

=sum

(**)

from

book

go執行例子:

declare

@total_price

money

exec

insert_book

'003',

'delphi 控制項開發指南',$

100,

@total_price

print

'總金額為'+

convert

(varchar

,@total_price

) go

儲存過程的3種傳回值:

1.以return傳回整數

2.以output格式傳回引數

3.recordset

傳回值的區別:

output和return都可在批次程式中用變數接收,而recordset則傳回到執行批次的客戶端中

mysql 五 儲存過程

5.1什麼是儲存過程 帶有邏輯的sql語句 之前的sql沒有條件判斷,沒有迴圈 儲存過程帶上流程控制語句 if while 5.2儲存過程的特點 1 執行效率非常快!儲存過程在資料庫服務端執行 2 移值性很差,不同資料庫不能一直 語法 delimiter 宣告結束符號 create procedur...

MySQL高階五 儲存過程的管理

1 檢視資料庫的儲存過程 如 show procedure status where db caiwu 2 檢視當前資料庫下面的儲存過程的列表 如 select specific name from mysql.proc 3 檢視儲存過程的內容 如 select specific name,body...

實驗五 儲存管理實驗

include stdio.h include stdlib.h include time.h struct wuli 記憶體表 struct wuli wuli table 20 struct page 頁表 struct page page table 10 int allocate int w...