您现在的位置: 365建站网 > 365学习 > 存储过程优点与语法(无参数,有参数,返回值)

存储过程优点与语法(无参数,有参数,返回值)

文章来源:365jz.com     点击数:464    更新时间:2010-01-19 22:34   参与评论

存储过程是数据库中必不可少的利器,之所以会广泛使用,当然是因为他有着很多的优点:

1.提高性能.

   存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

2.减少网络流量

   长长的SQL语句块只需要存储过程名代替,网络通信量减少,从而提高服务器效率.

3.减少注入式攻击,提高安全性

  封装了SQL语句,避免了拼接SQL而导致的注入式攻击.

4.便于后期的修改与维护,还可以重复使用.


语法:

以表student为例,它有三个字段id,name,age;

创建一个存储过程:

无参数的:

取最大id值: 

create proc GetMaxId
as
begin
select max(id) from student
end

执行:
exec GetMaxId 

有参数的:

依据id查找学生姓名:

create proc GetName  
@id int 
as 
begin   
select name from student where id=@id  
end   

执行:

exec GetName 1 
有返回值的:

依据id返回学生年龄:

create proc GetAge  
(@id int,  
@age int output)  
     --一定要用括号括起来,参数间用逗号隔开,输出参数要加output  
as 
begin  
set @age=(select age from student where id=@id)  
end 
执行:
declare @Age int --要声明一个输出参数  
exec GetAge 85 ,@Age output   
 

删除存储过程

drop 存储过程名;

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (464人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------