Heim >Datenbank >MySQL-Tutorial >sql 利用存储过程批量导入数据

sql 利用存储过程批量导入数据

WBOY
WBOYOriginal
2016-06-07 17:48:051538Durchsuche

什么是

存储过程(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 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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn