Sql Server 儲存過程

2022-02-17 22:56:43 字數 2051 閱讀 6387

@pagesize 表示每頁顯示的行數

@pageindex 表示第幾頁顯示

1: 單獨的乙個分頁查詢基本格式為:

select top @pagesize * from table where id not in

(select top @pagesize*(@pageindex-1) id from table order by id )

order by id

2: 帶where條件的分頁查詢的儲存過程的建立

create proc proc_page

@pagesize

int=10, --預設每頁顯示十條資訊

@pageindex

int=1, --預設顯示第一頁

@where varchar(

50) ='

1=2' --預設where條件不成立

asset nocount on --關掉受影響的行數,以提公升效能

declare @sql varchar(

300)

set @sql= '

select top

'+convert(varchar,@pagesize)+'

* from table where id not in (select top

'+convert(varchar,@pagesize*(@pageindex-1))+'

id from table where

'+@where +'

order by id ) and

'+ @where +'

order by id

'exec (@sql)

go呼叫儲存過程:

exec proc_page 5,3,'1=1' --每頁5條,第3頁

3:帶輸出引數的儲存過程(新增,插入時使用)

a: 輸出型別為uniqueidentifier,並且是作為主鍵,預設值是newid() 的輸出的儲存過程

create procedure proc_tableinsert

@id uniqueidentifier output,

@name varchar(50)

asset

nocount on

set @id=newid()insert into table (id,name) values (@id,@name)

@@error

go

b: 輸出型別為int ,並且是作為主鍵,預設值自動增長列 的輸出的儲存過

create procedure proc_tableinsert

@id

intoutput,

@name varchar(50)

asset

nocount on

insert into table (name) values (@name)

set @id=scope_identity()@@error

go

4:帶輸出聚合函式的儲存過程

create procedure proc_tablecount

@recordcount

intoutput

asset

nocount on

declare @sql nvarchar(

200)

set @sql=n'

select @count=count(-1) from table

'exec sp_executesql @sql , n

'@count int output

', @recordcount output

return

@@error

go

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