資料庫預存程序

來源:互聯網
上載者:User

標籤:資料庫預存程序

一、預存程序的優點

  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=‘經理‘

650) this.width=650;" title="2120632474638191365.jpg" src="https://s3.51cto.com/wyfs02/M02/A5/48/wKioL1m6gIyS19SnAABwIuyuakI063.jpg-wh_500x0-wm_3-wmp_4-s_3779487551.jpg" alt="wKioL1m6gIyS19SnAABwIuyuakI063.jpg-wh_50" />

例:使用輸出參數

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 //列印結果值

650) this.width=650;" title="720857415456143636.jpg" src="https://s4.51cto.com/wyfs02/M02/06/97/wKiom1m6gNKw3bUFAAAaW3NtwJE005.jpg-wh_500x0-wm_3-wmp_4-s_613266350.jpg" alt="wKiom1m6gNKw3bUFAAAaW3NtwJE005.jpg-wh_50" />

再例如:

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

650) this.width=650;" title="6597331450425192687.jpg" src="https://s4.51cto.com/wyfs02/M01/06/97/wKiom1m6gO2xc8FOAAB-B406Nsk673.jpg-wh_500x0-wm_3-wmp_4-s_651947270.jpg" alt="wKiom1m6gO2xc8FOAAB-B406Nsk673.jpg-wh_50" />

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

資料庫預存程序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.