SQL server儲存過程

2021-10-06 08:40:03 字數 2073 閱讀 5320

什麼是儲存過程

儲存過程是乙個預編譯的sql語句 ,編譯後可多次使用

優勢:

優點是允許模組化的設計,就是說只需建立一次,以後在程式中就可以呼叫多次

響應時間上來說有優勢,可以給我們帶來執行效率提高的好處,且使用儲存過程的系統更加穩定

缺點:

維護性較差,相對於簡單sql,儲存過程並沒有什麼優勢,並且在進行除錯時比較困難

呼叫:

用乙個「execute 儲存過程名 引數」命令來呼叫儲存過程

例項:

建立不帶引數儲存過程

--儲存過程

--不帶引數儲存過程

select * from books

gocreate proc cp_select_books

asselect * from books

--呼叫儲存過程

exec cp_select_books

帶輸入引數的儲存過程

--帶輸入引數的儲存過程

gocreate proc cp_select_books_byname

( @name nvarchar(50))as

select * from books where name like '%'+@name+'%'

--呼叫儲存過程

exec cp_select_books_byname 'm'

建立帶輸入,輸出引數,進行模糊查詢

--帶輸入,輸出引數

--進行模糊查詢,返回記錄數,還要返回記錄

gocreate proc cp_select_books_bynameex

(@name nvarchar(50),

@rowcount int out)as

select * from books where name like '%'+@name+'%'

select @rowcount=count(*) from books where name like '%'+@name+'%'

--呼叫

--定義乙個變數,接收返回值@rowcount

declare @rows int

exec cp_select_books_bynameex 'boot',@rows out

print @rows

建立乙個儲存過程,根據名稱,第幾頁,每頁顯示多少條

--建立乙個儲存過程,根據名稱,第幾頁,每頁顯示多少條

--查詢滿足條件的記錄和記錄數

gocreate proc cp_select_books_fenye

(@name nvarchar(50),

@pageindex int,

@pagesize int,

@pagerow int out --輸出引數滿足條件的行數)as

--查詢名稱是"" 查詢第多少頁,每頁顯示多少條

select top (@pagesize) * from books where id not in

(select top (@pagesize*(@pageindex-1)) id from books where name like '%'+@name+'%' order by id)

and name like '%'+@name+'%' order by id

--滿足條件共多少條

select @pagerow=count(*) from books where name like '%'+@name+'%'

godeclare @rows int;

exec cp_select_books_fenye '建築',1,6,@rows out

print @rows

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語句集,經編譯後儲存在資料庫中。使用者通過指定儲存過程的名字並給出引數 帶參儲存過程 來執行...