1.任意輸入三個數,輸出最大的數
create proc Pr_Test
@x1 int,
@x2 int,
@x3 int
as
begin
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'
結果如下:
用戶名與密碼正確,成功登錄!