SQL Server 儲存過程

2021-10-06 09:17:38 字數 2217 閱讀 8199

帶輸入引數的儲存過程

帶輸出引數的儲存過程

#-1.什麼是儲存過程?

儲存過程是乙個預編譯的sql語句,優點是允許模組化的設計,就是說只需建立一次,以後在程式中就可以呼叫多次。如果某次操作需要執行多次sql,使用儲存過程比單純sql語句執行要快。

##-2.用什麼來呼叫?

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

比如exec cp_select_books

###-3.不帶引數的儲存過程

create

proc cp_select_books

asselect

*from books

--修改

alter

proc

--儲存過程名字

--語句

--刪除

drop

proc

--儲存過程名字

####-4.帶輸入引數的儲存過程

--根據名稱引數

gocreate

proc cp_select_book_byname

(@name

varchar(50

))asselect

*from books where name like

'%'+

@name

+'%'

--呼叫

exec cp_select_book_byname '紅樓夢'

#####-5.帶輸出引數的儲存過程

--根據名稱查詢,返回記錄,同時返回記錄數

go create

proc cp_select_books_bynameext(

@name

varchar(50

),@recordrows

intout

--輸出型別)as

select

*from books where name like

'%'+

@name

+'%'

select

@recordrows

=count(*

)from books

--呼叫

--定義乙個變數,接收返回引數 @@recordrows的值

declare

@rsint

exec cp_select_books_bynameext '紅樓夢'

,@rs

outprint

'查詢的記錄數是:'

+convert

(varchar(5

),@rs)

---4:簡單的分頁的儲存過程的建立和呼叫

--根據名稱,頁碼,每頁顯示條數 --輸入引數

go create

proc cp_page(

@name

varchar(50

),@pageindex

int,

--頁碼

@pagesize

int,

--每頁顯示條數

@rsint

out--總記錄數)as

select

top(

@pagesize)*

from books where id notin(

select

top(

@pagesize*(

@pageindex-1

)) id from books where name like

'%'+

@name

+'%'

order

by id

)and name like

'%'+

@name

+'%'

order

by id

--返回查詢條件的總記錄數 --輸出引數

select

@rs=

count(*

)from books where name like

'%'+

@name

+'%'

--顯示查詢結果

--呼叫

declare

@rows

intexec cp_page '紅樓夢',1

,5,@rows

outprint

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