儲存過程是由過程化sql語句書寫的過程,這個過程經編譯和優化後儲存在資料庫伺服器中。類似於函式,使用時只需呼叫即可。
使用儲存過程有以下優點:
1、實現了sql語句的可復用性
2、儲存過程降低了客戶機和伺服器之間的通訊量
3、方便實施企業規劃
儲存過程的建立一般格式
gocreate proc proc_name(參數列)
assql語句
go這裡使用之前建立好的學生資料庫,在該資料庫的表上建立儲存過程
①建立乙個帶輸入引數的儲存過程proc_student,其中的輸入引數用於接收課程號,預設值為「c601」,
然後在sc表中查詢該課成績不及格的學生學號,
接著在student表中查詢這些學生的基本資訊,包括學號、姓名、性別和所在系資訊,最後輸出。
use student
if object_id ('proc_student','p') is not null /*如果存在該儲存過程,則刪除之*/
drop procedure proc_student;
go /*儲存過程必須從批處理的第一條開始*/
create proc proc_student(@cno char(4))
asbegin
set nocount on; /*阻止在結果集中返回可顯示受 transact-sql 語句或儲存過程影響的行計數的訊息*/
select * from student
where sno in
( select sno from sc where cno=@cno and grade<60
)end
goexec proc_student'c601' /*執行該儲存過程*/
②建立乙個為student表新增學生記錄的儲存過程proc_addstudent。
if object_id ('proc_addstudent','p') is not null
drop procedure proc_addstudent;
gocreate proc proc_addstudent(@sno char(4),@sname nvarchar(10),@*** char(2),@age int,@snative varchar(20),@department varchar(10),@saddress varchar(20))
asinsert into student values(@sno,@sname,@***,@age,@snative,@department,@saddress)
goexec proc_addstudent '1802','張華','男',22,'上海','數計系',null;
select *from student
③建立乙個儲存過程proc_delstudent刪除student表中指定學號的記錄。
if object_id('proc_delstudent','p') is not null
drop procedure proc_delstudent;
select *from student where sno='1802' go
create proc proc_delstudent(@sno char(4))
as delete
from student
where sno=@sno
goexec proc_delstudent '1802' --執行刪除學號為1802的學生 事務
select *from student where sno='1802'
在查詢命令的視窗中輸入drop procedure語句,刪除儲存過程。
drop procedure proc_student
drop procedure proc_addstudent
drop procedure proc_delstudent
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語句集,經編譯後儲存在資料庫中。使用者通過指定儲存過程的名字並給出引數 帶參儲存過程 來執行...