儲存過程(stored procedure)是在大型資料庫系統中,一組為了完成特定功能的sql 語句集,它儲存在資料庫中,一次編譯後永久有效,使用者通過指定儲存過程的名字並給出引數(如果該儲存過程帶有引數)來執行它。儲存過程是資料庫中的乙個重要物件。在資料量特別龐大的情況下利用儲存過程能達到倍速的效率提公升
基本建立語法
create proc sp_name
@[引數名]
[型別]
,@[引數名]
[型別]
asbegin
......
...end
/*注:「sp_name」為需要建立的儲存過程的名字,該名字不可以以阿拉伯數字開頭*/
首先建立資料庫表單![](https://pic.w3help.cc/60f/67fa501d8b2ddea6401436b6cfd8c.jpeg)
自己新增多行資料
1.不帶引數的儲存過程的建立和呼叫
--建立儲存根據名稱查詢資料
create proc cp_select_book_byname
as select *
from books
--呼叫
exec cp_select_book_byname
var foo =
'bar'
;
2.帶輸出引數的儲存過程的建立和呼叫
--根據名稱引數
create proc cp_select_book_bynames
( @name varchar(50
))as select *
from books where name like '%'
+@name+
'%'--呼叫
exec cp_select_book_bynames '紅樓夢'
3:帶輸出引數的儲存過程的建立和呼叫
--根據名稱查詢,返回記錄,同時返回記錄數
create proc cp_select_books_bynameext
( @name varchar(50
),@recordrows int out --out表示輸出型別
)as
select *
from books where name like '%'
+@name+
'%' select @recordrows=
count(*
)from books
--呼叫
--定義乙個變數,接受返回引數@recordrows的值
declare @rs int
exec cp_select_books_bynameext '三國'
,@rs out
print '查詢的記錄數是:'
+convert
(varchar(5
),@rs)
4:簡單分頁的儲存過程的建立和呼叫
--根據名稱,頁碼,每頁顯示條數 --輸入引數
gocreate proc cp_page
( @name varchar(50
),@pageindex int,
--頁碼
@pagesize int,
--每頁顯示條數
@rs int out --總記錄數 )as
select *
from books where id not in
(select top 5 id from books where name like '%三國%'
order by id
) and name like '%s三國%' order by id
select @rs =
count(*
)from books where name like '%'
+@name+
'%'declare @rss int
exec cp_page'三國',1
,5,@rss out
print '查詢的記錄數是:'
+convert
(varchar(50
),@rss)
儲存過程的理解
1.什麼是儲存過程?儲存過程就是作為可執行物件存放在資料庫中的乙個或多個sql命令。通俗來講 儲存過程其實就是能完成一定操作的一組sql語句。2.儲存過程的優點和缺點 優點 響應時間上來說有優勢,可以給我們帶來執行效率提高的好處,且使用儲存過程的系統更加穩定。缺點 維護性較差,相對於簡單sql,儲存...
儲存過程的理解
1.什麼是儲存過程?儲存過程就是作為可執行物件存放在資料庫中的乙個或多個sql命令。通俗來講 儲存過程其實就是能完成一定操作的一組sql語句。2.儲存過程的優點和缺點 優點 響應時間上來說有優勢,可以給我們帶來執行效率提高的好處,且使用儲存過程的系統更加穩定。缺點 維護性較差,相對於簡單sql,儲存...
理解T SQL 儲存過程
儲存過程的定義 描述就不多說了,都明白。直接從基本的儲存過和開始講起。1.建立儲存過程 create schema name.procedure name number varying default out put n with n procedure option可以有recompile enc...