存储过程的优点:
1、提高数据库的安全性,无操作数据库权限的用户,也可以授予执行存储过程的权限。
2、可以单个存储过程中执行一系列sql语句和引用其他存储过程
3、执行速度更快,存储过程存储的是事先已经编译好的sql代码。
4、减少网络流量。一个需要数百行代码的操作由一条执行过程代码的单独语句就可实现。而不需要在网络中发送数百行代码
declare @x int,@sum int
select @x = 0,@sum = 0
while @x <= 10
begin
set @x = @x + 1
set @sum = @sum + @x
if @sum > 30
break
end
waitfor delay '00:00:03'
print '等秒后输出'
print @sum
use jk
go
create procedure studentid
as
select * from student
where sclass like '%1804_'
--就好像C语言中的自定义函数完成用户自定义的功能
exec studentid
--调用这个自定义函数
go
create procedure studentold @old int
as
select * from student
where sage = @old
--带参的存储过程(带参的自定义函数)
exec studentold 20
--调用
exec studentold 21
存储过程是数据库中的一种对象,存储事先编译好的transact-sql语句,执行速度比较快。