用SQL批量插入数据

用SQL批量插入数据
DECLARE @MyCounter INT

SET @MyCounter = 0           

WHILE (@MyCounter <1000)    

BEGIN

WAITFOR DELAY '000:00:0'  

INSERT INTO guestbook

      (name, phone, email, title,time)

SELECT TOP 1 name, phone, email, title,time
FROM guestbook

ORDER BY id DESC


SET @MyCounter = @MyCounter + 1

END

 

另:

1,单条插入

INSERT INTO time_by_day

 
(time_id, the_date, the_year, month_of_year, quarter,day_of_month)

VALUES ('1101', '1999-10-1', '1999', '10', 'Q4','1')


2,单条插入:


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


3,循环插入:

 

DECLARE @MyCounter INT

SET @MyCounter = 0           

WHILE (@MyCounter < 2)    

BEGIN

WAITFOR DELAY '000:00: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


4,插入以时间为变量的数据


DECLARE @MyCounter INT

declare @the_date datetime

SET @MyCounter = 0

SET @the_date = '1999-1-4'

WHILE (@MyCounter < 200000)

BEGIN

WAITFOR DELAY '000:00:10'

 

insert into time_by_day (time_id,the_date)values('371',@the_date)

SET @the_date = @the_date + 1

SET @MyCounter = @MyCounter + 1

END

posted on 2009-06-02 16:24  夏日之花  阅读(321)  评论(0)    收藏  举报

导航