儲存過程經典例項

2021-04-12 16:27:14 字數 1807 閱讀 9485

1.任意輸入三個數,輸出最大的數

create proc pr_test

@x1 int,

@x2 int,

@x3 int

asbegin

declare @max int

if(@x1>@x2)

set @max=@x1

else

set @max=@x2

if(@x3>@max)

set @max=@x3

print '三個數中最大的數是:'+cast(@max as varchar(50))

end在正確輸入後,執行後就建立了這個儲存過程,

下面來執行這個儲存過程,任意輸入三個數字,具體**如下:

execute pr_test 50,31,48

執行儲存過程

結果如下:

三個數中最大的數是:50

2.階乘之和(如:5!+4!+3!+2!+1!)

create proc pr_jc

@x int

as

begin

declare @i int,@cj int,@sum int

select @i=1,@cj=1,@sum=0             

while @i<

=@x                                  

begin   

set @cj=@cj*@i                            

set @sum=@sum+@cj                  

set @i=@i+1                                 

end

print cast(@x as varchar(50))+'階乘之和是:'+cast(@sum as varchar(50))

end

執行該儲存過程

exec pr_jc 5

結果如下:

5階乘之和是:153

3.登入系統儲存過程

create proc pr_denglu

@hyuser varchar(50),

@hypwd varchar(50)

as

begin

declare @msg varchar(50)

if(@hyuser='hystu1')

begin

if @hypwd='111'

set @msg='使用者名稱與密碼正確,登入成功!'

else

set @msg='密碼不正確,請重新輸入'

end

else if(@hyuser='hystu2')

begin

if @hypwd='222'

set @msg='使用者名稱與密碼正確,登入成功!'

else

set @msg='密碼不正確,請重新輸入'

end

else if(@hyuser='hystu3')

begin

if @hypwd='333'

set @msg='使用者名稱與密碼正確,登入成功'

else

set @msg='密碼不正確,請重新輸入'

end

else

set @msg='使用者名稱不正確,請重新輸入'

print @msg

end執行該儲存過程

exec pr_denglu 'hystu1','111'

結果如下:

使用者名稱與密碼正確,成功登入!

儲存過程例項

首先查詢,如果有則更新,如果沒有則新增。create proc sp drugstockrecord drugid int,department varchar 500 batchnum varchar 500 amount float,stocktime datetime,producedate ...

儲存過程例項

例1 create proc proc stu sname varchar 20 pwd varchar 20 as select from ren where sname sname and pwd pwd go檢視結果 proc stu admin admin 例2 下面的儲存過程實現使用者驗證...

儲存過程例項

資料庫環境 sqlserver 概述 查詢某個月份的每天的所有資料,然後存到臨時表裡面,再把臨時表裡面的結果集返回。判斷要建立的儲存過程名是否存在 if exists select from dbo.sysobjects where id object id n dbo sp dormlevelmo...