【www.gdgbn.com--php与数据库】

什么是存储过程

存储过程(stored procedure)是一组为了完成特定功能的sql语句集,是利用sql server所提供的transact-sql语言所编写的程序。经编译后存储在数据库教程中。存储过程是数据库中的一个重要对象,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是由流控制和sql语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量 。同时,存储过程可以接收和输出参数、返回执行存储过程的状态值

存储过程语法

create procedure [拥有者.]存储过程名[;程序编号]   [(参数#1,…参数#1024)]   [with   {recompile | encryption | recompile, encryption}   ]   [for replication]

看一个简单的实例

create procedure order_tot_amt   @o_id int,   @p_tot int output   as   select @p_tot = sum(unitprice*quantity)   from orderdetails   where ordered=@o_id   go

 

下面来看一个利用存储过程批量导入数据实例


declare @mycounter int
set @mycounter = 0 /*设置变量*/
while (@mycounter < 2) /*设置循环次数*/
begin
waitfor delay "000:00:10" /*延迟时间10秒*/
insert into time_by_day
(time_id, the_date, the_year, month_of_year, quarter, day_of_month)
select top 1 time_id + 1 as time_id, the_date + 1 as the_date, year(the_date + 1)
as the_year, month(the_date + 1) as month_of_year, { fn quarter(the_date + 1)
} as quarter, day(the_date + 1) as day_of_month
from time_by_day
order by time_id desc
set @mycounter = @mycounter + 1
end

本文来源:http://www.gdgbn.com/jiaocheng/29526/