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;
浙公网安备 33010602011771号