SqlServer之儲存過程

2021-09-27 08:06:00 字數 2821 閱讀 2321

儲存過程最主要的特色:是當寫完乙個儲存過程後即被翻譯成可執行碼儲存在系統表

內,當作是資料庫的物件之一,一般使用者只要執行儲存過程,並且提供儲存過程所需的參

數就可以得到所要的結果而不必再去編輯 t-sql 命令。

儲存過程也可用在控制訪問許可權、為資料庫表中的活動建立審計追蹤、將關係到資料

庫及其所有相關應用程式的資料定義語句和資料操作語句分隔開。

1.儲存過程定義:

儲存過程是一種在資料庫中儲存複雜程式,以便在外部程式呼叫的一種資料庫物件,它可以視為資料庫中的一種函式或子程式;

儲存過程經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數來執行它。儲存過程相比傳統sql語句執行方式(先編譯,再執行)明顯效率高。為了保證資料的完整性,提高執行重複任務的效能和一致性,常採

用儲存過程(stored procedure)。

2.儲存過程的優點:

.減少了伺服器/客戶端網路流量

.更強的安全性

.**的復用性

.更容易維護

3.儲存過程的型別:

1、系統儲存過程:以「sp_」為字首標識,儲存在「master」資料庫中,提供對系統表的檢索和管理功能。

2、擴充套件儲存過程:以「xp_」為字首標識,通過執行外部dll來實現功能。

3、使用者定義儲存過程:建立在使用者資料庫中。

4. 臨時儲存過程:本地臨時過程的名稱以單個數字符號 (#) 開頭;它們僅對當前的使用者連線是可見的;它們僅對當前的使用者連線是可見的;

當使用者關閉連線時被刪除。全域性臨時過程的名稱以兩個數字符號 (##)開頭,建立後對任何使用者都是可見的,並且在使用該過程的最後乙個會話結束時被刪除。

二.

常用系統儲存過程有:exec sp_databases; --檢視資料庫

exec sp_tables; --檢視表

exec sp_columns student;--檢視列

exec sp_helpindex student;--檢視索引

exec sp_helpconstraint student;--約束

exec sp_stored_procedures;

exec sp_helptext 'sp_stored_procedures';--檢視儲存過程建立、定義語句

exec sp_rename student, stuinfo;--修改表、索引、列的名稱

exec sp_renamedb mytempdb, mydb;--更改資料庫名稱

exec sp_defaultdb 'master', 'mydb';--更改登入名的預設資料庫

exec sp_helpdb;--資料庫幫助,查詢資料庫資訊

exec sp_helpdb master;

儲存過程基本語法:

--

------------建立儲存過程-----------------

create

proc

[edure

] procedure_name [

; number ][

[ varying ][

= default ][

output ]]

[,...n ][

with

][for replication

]as sql_statement [

...n ]--

------------呼叫儲存過程-----------------

execute procedure_name ''

--儲存過程如果有引數,後面加引數格式為:@引數名=value,也可直接為引數值value

--------------刪除儲存過程-----------------

drop

procedure procedure_name --

在儲存過程中能呼叫另外乙個儲存過程,而不能刪除另外乙個儲存過程

1,引數分為輸入引數,輸出引數;引數都是可選的,輸入引數允許預設值。
示例:

乙個簡單的儲存過程:

create

procedure

courseinfo

@cno

varchar(20

),@cname

varchar(20)as

begin

select

*from course where cno=

@cno

and cname=

@cname

endgo

如果用sql直接查詢,是這樣的:

select * from course where cname='計算機導論'
查詢結果:

用儲存過程查詢,則是這樣的:

exec courseinfo 計算機導論,計算機導論
或這樣:

exec courseinfo @cno='

3-105

',@cname='

計算機導論

'

查詢結果:

sql server儲存過程

建立表的語句 create table student sno int primary key,sname nvarchar 30 sgentle nvarchar 2 sage int,sbirth smalldatetime,sdept nvarchar 30 drop table studen...

SQLSERVER儲存過程

sqlserver儲存過程使用說明書 引言首先介紹一下什麼是儲存過程 儲存過程就是將常用的或很複雜的工作,預先用 sql語句寫好並用乙個指定的名稱儲存起來,並且這樣的語句是放在資料庫中的,還可以根據條件執行不同 sql語句,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫 ex...

SQL Server 儲存過程

儲存過程概念 儲存過程優點 儲存過程的介面 儲存過程的解析 編譯過程 儲存過程安全性 檢視儲存過程 加密 解密儲存過程 儲存過程概念 儲存過程 stored procedure 是一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中。使用者通過指定儲存過程的名字並給出引數 帶參儲存過程 來執行...