SQL Server 2008 存储过程

Posted on 2021-09-03 14:00  MissRong  阅读(374)  评论(0)    收藏  举报

SQL Server 2008 存储过程

--存储过程
--例程是为了计算结果或执行任务而对代码进行封装的一种编程对象。
--SQL Server 支持三种例程:用户定义函数、存储过程(重点)以及触发器。

--调整分数可以写成一段程序,保存到数据库中
--生成一个名叫ModifyScre的存储过程,
--存到XinrongDatabase下的可编程性中的存储过程里的dbo.ModifyScre
--存储过程已经保存到数据库中了
create procedure ModifyScre(
    @num float
)
as
update score
    set scores = scores + @num;
   
exec  dbo.ModifyScre @num = 10;
select * from score;


go
--------------------------------------------------------------------------------------
--参数问题:
--(1)传入参数/ 传统的参数--------------------------------
--默认的参数就是传入参数

--(2)传出参数:out,set-----------------------------------
--与方法不同,存储过程没有通常意义上的返回类型和返回数据
create procedure GetScorce(
    @count int output   --传出参数output
)
as
declare @num int;
select @num = COUNT(*) from score;
--传出
set @count = @num;

--调用带有传出参数的存储过程
--必然使用变量来保存传出的结果
declare @mycount int;
--前面是参数定义中定义的串出参数名称
--后面是定义的用来保存传出结果的变量
exec GetScorce @count = @mycount output;
print @mycount;

go
--(3)return 参数-------------------------------------------
--特殊,不是普通的return
--只能return整数(表示状态)
--返回表示成功执行,即使没有写return,默认返回.

create procedure createuser(
    @name nvarchar(100)
)
as
--检查名字是否合法
declare @namelen int;
set @namelen = len(@name);
if @namelen >= 5
   return 0
else 
   return 1;
   
--调用,获取返回结果是否成功
declare @returnValue int;
exec @returnValue = createuser @name = '欣荣';
print @returnValue;

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3