利用存储过程实求最大值过程的实现
1、步骤1:首先打开SQL Server2000数据库,点击打开查询分析器。注意,此时要保证数据库服务是开启的,否则要报错;其次保证数据库连接输入正确,否则也可能报错。
2、步骤2:分析求最大值的需求。定义3个变量x1\x2\x3,首先判断x1和x2大小,得到其中的最大值;再次将x3和他们比较出来的最大值进行比较,得到最大值。
3、步骤:3:在查询分析器编辑窗口,输入实现的代码如下。
--目标:求最大值,输入3个整数,得到最大值。
--创建存储过程,名称为proc_max
create proc proc_max
--定义3个变量
@x1 int,
@x2 int,
@x3 int
as
begin
declare @max int
--最大值为x1的判断。
if @x1>@x2
set @max=@x1
else
--最大值为x2的判断。
set @max=@x2
--最大值为x3的判断。
if @x3>@max
set @max=@x3
print'3个数中的最大数是:'+cast(@max as varchar(50))
end
4、步骤4:点击分析查询,显示代码正常,无报错现象。注意:在该过程中,如果有报错信息,根据提示进行修改,再次进行分析查询,直到分析成功,不在报错。
5、步骤5:点击执行查询,显示执行成功;再次执行,显示已经存在存储过程对象,说明创建存储过程成功。执行过程中出现报错提示时,根据提示信息进行修改,直至不在报错。
6、步骤6:一次打开数据库,找到新创建的存储过程,如下。
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
--目标:求最大值,输入3个整数,得到最大值。
--创建存储过程,名称为proc_max
ALTER proc proc_max
--定义3个变量
@x1 int,
@x2 int,
@x3 int
as
begin
declare @max int
--最大值为x1的判断。
if @x1>@x2
set @max=@x1
else
--最大值为x2的判断。
set @max=@x2
--最大值为x3的判断。
if @x3>@max
set @max=@x3
print'3个数中的最大数是:'+cast(@max as varchar(50))
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
7、步骤7:执行存储过程,检验结果如何。在查询分析器中,输入参数123,234,456,我们可以点击执行查询,看是否结果,处理最大值为456。
execute proc_max 123,234,456
点击执行查询,出现结果为456.证明我们找到了最大值,完成了求最大值的过程。
8、测试执行存储过程的方法。选中新建的存储过程,点击执行过程。分别将参数输入:123、456、789.
9、点击,执行,得到如下结果,我们可以看到,同样实现了求最大值的功能。该种方式适合进行测试存储过程正确性的时候使用。
------------------------------------------执行代码:
DECLARE @RC int
DECLARE @x1 int
DECLARE @x2 int
DECLARE @x3 int
SELECT @x1 = 123
SELECT @x2 = 456
SELECT @x3 = 789
EXEC @RC = [Mydb].[dbo].[proc_max] @x1, @x2, @x3
DECLARE @PrnLine nvarchar(4000)
PRINT '存储过程: Mydb.dbo.proc_max'
SELECT @PrnLine = ' 返回代码 = ' + CONVERT(nvarchar, @RC)
PRINT @PrnLine
---------------------------------------执行结果:
3个数中的最大数是:789
存储过程: Mydb.dbo.proc_max
返回代码 = 0