1. 程式人生 > >數據庫存儲過程

數據庫存儲過程

數據庫存儲過程

一、存儲過程的優點

  1.執行速度更快 – 在數據庫中保存的存儲過程語句都是編譯過的

  2.允許模塊化程序設計 – 類似方法的復用

  3.提高系統安全性 – 防止SQL註入

  4.減少網絡流通量 – 只要傳輸存儲過程的名稱

二、存儲過程語法"[" 裏面的內容表示可選項

  create proc 存儲過程名

  @參數1 數據類型 [=默認值] [output],

  @參數2 數據類型 [=默認值] [output],

  ...

  as

  SQL語句

例:無參數操作

create proc proc_stu //創建存儲過程

  as

  select * from 學生信息

執行完後會創建一個proc_stu的存儲過程

執行存儲過程 exec proc_stu

例:使用默認值參數

create proc p_employee

@departmentid varchar(10),//不帶默認值

@zhiwei varchar(20)=‘職員‘

As

SELECT A.員工姓名,A.性別,B.部門名稱

FROM 員工信息 A,部門名稱 B

WHERE A.所在部門編號=B.部門編號 AND B.部門編號[email protected] AND A.所任職位[email protected] //(要查看的職位)

執行 exec p_employee @departmentid=‘技術部‘,@zhiwei=‘經理‘

技術分享

例:使用輸出參數

create proc p_sorce

@name varchar(10),

@sorce int output //輸出參數

As

SELECT B.姓名,avg[A.分數]

FROM 成績信息 A,學生信息 B

WHERE A.學生編號=B.學號 AND B.姓名[email protected]

avg[]聚合函數;

執行存儲過程

DECLARE @SORCE1 INT 聲明一個對象;

exec p_sorce @name=‘張苗苗‘,@ sorce [email protected] OUTPUT //OUTPUT 指定輸出參數

PRINT @SORCE1 //打印結果值

技術分享

再例如:

create proc p_stu

@na varchar(10),

@sco int=10

as

select * from stu where [email protected] and [email protected]

go

exec p_stu @na=‘lilu‘,@sco=88

技術分享

本文出自 “Linux_woniu” 博客,請務必保留此出處http://llu1314.blog.51cto.com/5925801/1965333

數據庫存儲過程