1. 程式人生 > >帶你快速瞭解“儲存過程”的定義及優點

帶你快速瞭解“儲存過程”的定義及優點

儲存過程

sql語句執行的時候要先編譯,然後執行。儲存過程就是編譯好了的一些sql語句。應用程式需要用的時候直接呼叫就可以了,所以效率會高。

儲存過程介紹

儲存過程是由流控制和SQL語句書寫的過程,這個過程經編譯和優化後儲存在資料庫伺服器中,應用程式使用時只要呼叫即可。在ORACLE中,若干個有聯絡的過程可以組合在一起構成程式包。

使用儲存過程有以下的優點:

* 儲存過程的能力大大增強了SQL語言的功能和靈活性。儲存過程可以用流控制語句編寫,有很強的靈活性,可以完成複雜的判斷和較複雜的 運算。

* 可保證資料的安全性和完整性。

# 通過儲存過程可以使沒有許可權的使用者在控制之下間接地存取資料庫,從而保證資料的安全。

# 通過儲存過程可以使相關的動作在一起發生,從而可以維護資料庫的完整性。

* 再執行儲存過程前,資料庫已對其進行了語法和句法分析,並給出了優化執行方案。這種已經編譯好的過程可極大地改善SQL語句的效能。 由於執行SQL語句的大部分工作已經完成,所以儲存過程能以極快的速度執行。

* 可以降低網路的通訊量。

* 使體現企業規則的運算程式放入資料庫伺服器中,以便:

# 集中控制。

# 當企業規則發生變化時在伺服器中改變儲存過程即可,無須修改任何應用程式。企業規則的特點是要經常變化,如果把體現企業規則的運算程式放入應用程式中,則當企業規則發生變化時,就需要修改應用程式工作量非常之大(修改、發行和安裝應用程式)。如果把體現企業規則的 運算放入儲存過程中,則當企業規則發生變化時,只要修改儲存過程就可以了,應用程式無須任何變化。

資料庫儲存過程的實質就是部署在資料庫端的一組定義程式碼以及SQL。

利用SQL的語言可以編寫對於資料庫訪問的儲存過程,其語法如下:

CREATE PROC[EDURE] procedure_name [;number] 
[ 
{@parameter data_type} ][VARYING] [= default] [OUTPUT] 
] 
[,...n] 
[WITH 
{ 
RECOMPILE 
| ENCRYPTION 
| RECOMPILE, ENCRYPTION 
} 
] 
[FOR REPLICATION] 
AS 
sql_statement [...n]

[ ]內的內容是可選項,而()內的內容是必選項,

例: 若使用者想建立一個刪除表tmp中的記錄的儲存過程Select_delete可寫為:

Create Proc select_del As 
Delete tmp 

例:使用者想查詢tmp表中某年的資料的儲存過程

create proc select_query @year int as 
select * from tmp where [email protected]

在這裡@year是儲存過程的引數

例:該儲存過程是從某結點n開始找到最上層的父親結點,這種經常用到的過程可以由儲存過程來擔當,在網頁中重複使用達到共享。

空:表示該結點為頂層結點

fjdid(父結點編號) 

結點n 非空:表示該結點的父親結點號

dwmc(單位名稱)


相關推薦

快速瞭解儲存過程”的定義優點

儲存過程 sql語句執行的時候要先編譯,然後執行。儲存過程就是編譯好了的一些sql語句。應用程式需要用的時候直接呼叫就可以了,所以效率會高。 儲存過程介紹 儲存過程是由流控制和SQL語句書寫的過程,這個過程經編譯和優化後儲存在資料庫伺服器中,應用程式使用時只要呼叫即可。

一文快速瞭解最火的數字經濟(大資料、人工智慧等都有)

人工智慧行業應用加速(暴富機會由“網際網路+”轉向AI+) “網際網路+”紅利已開發將盡,未來,新的暴富紅利將由“人工智慧”接棒。從產業演進看,科技巨頭正加速全球化併購,打造AI生態閉環,開源化也將成為全球性趨勢。開源化使得人工智慧的行業運用門檻急遽降低,未來幾年將迎來人工智慧行業應用浪潮。 2

快速瞭解安卓應用上架各大應用市場

  1、騰訊應用寶 騰訊開放平臺地址:http://open.qq.com 註冊開發者帳號地址:https://ssl.zc.qq.com/v3/index-chs.html 重要提示:開發者QQ號碼一旦註冊不能變更,建議使用公司老闆或法人的QQ號碼而不是員工私人號碼註

50k大牛告訴Python怎麼學,10個特性快速瞭解python

前言 如果你是一個正在學習python的c、c++ or java程式設計師,又或者你是剛剛接觸python,剛剛開始學習python,那麼,請認真看完這10個語言特性,你會受益匪淺的。 新增小編python學習群865597862即可領取2018最新全套python零基礎入門

快速瞭解Hadoop的序列化

一、為什麼要序列化 一般來說,“活的”物件只生存在記憶體裡,關機斷電就沒有了。而且“活的”物件只能由本地的程序使用,不能被髮送到網路上的另外一臺計算機。 然而序列化可以儲存“活的” 物件,可以將“活的”物件傳送到遠端計算機。 二、什麼是序列化 序列化就是把記憶體中的物件,轉換成位

一文深入瞭解 redis 複製技術主從架構

主從架構可以說是網際網路必備的架構了,第一是為了保證服務的高可用,第二是為了實現讀寫分離,你可能熟悉我們常用的 MySQL 資料庫的主從架構,對於我們 redis 來說也不意外,redis 資料庫也有各種各樣的主從架構方式,在主從架構中會涉及到主節點與從節點之間的資料同步,這個資料同步的過程在 redis 中

快速瞭解 MongoDB 分散式叢集

在分散式應用系統中,mongodb 已經成為 NoSQL 經典資料庫。要想很好的使用 mongodb,僅僅知道如何使用它是不夠的。只有對其架構原理等有了充分認識,才能在實際運用中使其更好地服務於應用,遇到問題知道怎麼處理,而不是抓瞎抹黑。這篇文章就帶你進入 mongodb 叢集的大門。 叢集概覽

神手CRM重新瞭解社群定義(四千字解除所有社群迷茫的人)

社群發展的下一步又將何去何從?神手CRM認為將出現兩個兩個趨勢,即社群的生態化和生態的社群化。 移動網際網路時代以為有了足夠使用者就能做大、就能掙很多錢的想法很像酒駕,豪車、美女,雨大、路滑,車速開到180邁,一不小心就會出人命,很刺激,但是很危險,不想重蹈2000年前後網際網路泡沫的覆

SQLServer --自定義輸入引數的儲存過程

帶輸入引數的儲存過程 在引數中新增預設值 use StuManageDB go if exists(select * from sysobjects where name=

Java大佬詳細瞭解,執行緒的應用挑戰

文章簡介 上一篇文章我們瞭解了程序和執行緒的發展歷史、執行緒的生命週期、執行緒的優勢和使用場景,這一篇,我們從Java層面更進

OpenCV開發筆記(五十五):紅胖子8分鐘深入瞭解Haar、LBP特徵以及級聯分類器識別過程(圖文並茂+淺顯易懂+程式原始碼)

若該文為原創文章,未經允許不得轉載原博主部落格地址:https://blog.csdn.net/qq21497936原博主部落格導航:https://blog.csdn.net/qq21497936/article/details/102478062本文章部落格地址:https://blog.csdn.net

Docker這麼火爆。章節一:詳盡瞭解Docker容器的介紹使用

  前言         很多小夥伴可能在工作中都聽說過Docker,但是實際工作中卻沒有使用過,聽得多了,也對Docker內心有一種很深切的想了解,但是因為各種原因而不知道如何去了解而發愁,不要急,這篇文章帶你認識Docker!  

快速進入.net core的世界(轉)

壓縮包 mic .org 新建 wid 關機 -- new centos7 出處:http://www.cnblogs.com/zhaopei/p/netcore.html 閱讀目錄 vmware虛擬機安裝 CentOS7.3安裝 Windows

flask-快速入門

flask 實例 flask-web 函數 應用 一個小應用創建一個Python文件:hello.pyfrom flask import Flask app = Flask(__name__) #app是程序實例,一個項目只能有一個程序實例@app.route(‘/‘) #路由裝飾

快速了解web前端

ima ble 等級 需要 term 陌生 表格 代碼 靈活 進入一個行業,首先當然得清楚他的發展前景。那麽web前端開發的前景怎麽樣呢?直白的說,web前端是一個前途不可限量的行業。 很多初學者對web還很陌生,不知道web前端是什麽?web前端需要做什麽?有哪些是

Zara快速入門WPF(3)---觸發器篇

pac 屬性設置 items ger target ack esp 重復數 mpat 一.前言 使用觸發器,可以動態的改變控件的外觀,因為一些事件或屬性改變了,把鼠標移動到按鈕上,按鈕就會改變其外觀。通常這些必須寫在C#代碼中,使用WPF也可以使用XAMl實現,而這只會影

Zara快速入門WPF(4)---菜單與功能區控件

bsp res wpf top off 找到 dock 技術分享 tro 前言:許多數據驅動的應用程序都包含菜單和工具欄或功能區控件,允許用戶控制操作,在WPF中,也可以使用功能區控件,所以這裏介紹菜單和功能區控件。 一.菜單控件 在WPF中,菜單很容易使用Menu和M

IP地址是什麼,618IP代理深入瞭解

618IP代理,帶你深入瞭解什麼是IP地址,如何運用好IP地址,已經怎麼更改自己的IP地址QQ3218080091 IP地址對於經常上網的人應該都不陌生,ip地址又可以分成內網ip地址和公網ip地址,今天就來簡單介紹下這兩者的區別。 通常我們所說的內網也就是區域網,是內網的計算機以網路地址轉換協議,通過一

明日之後安卓版即將公測 全面瞭解

明日之後什麼時候公測?明日之後怎麼樣?明日之後到底怎麼玩?明日之後到底肝不肝,氪不氪?明日之後能用電腦玩嗎?   明日之後是網易又一力作,前期造勢十足,吸引了萬千眼球,吊足了八方胃口,現終於公佈安卓版將於11月6日公測,雖然內測階段出了不少岔子,被丟了不少臭雞蛋爛白菜,但目前