网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.SQL SERVER的ROWCOUNT关键字.
.教你在SQL Server数据库中拆分字.
.用SQL语句完成SQL Server数据库的.
..NET 2.0 SqlDependency快速上手.
.SQL Server 数据库管理常用的SQL.
.SQL Server 2005中利用xml拆分字.
.sql 语句对时间操作的总结.
.SQL Server连接失败错误故障的分.
.深入讲解SQL Union和Union All的.
.在SQL Server中获得不包含时间部.
.存储过程中如何执行带输出参数的.
.查看当前进程,或死锁进程,并能自.
.通过rownum隐式游标实现与TOP相似.
.SQL server 2008邮件故障排除:发.
.如何使Microsoft SQL Server的日.
.在控制中心点选数据库时出现的SQ.
.分页存储过程2005 .
.MS-SQL server数据库开发精典技巧.
.Sql server数据库备份还原另一方.
.教你快速掌握"patindex"函数的使.

用SQL数据库批量插入数据简介

发表日期:2006-11-29


最近忙于公司BI软件性能测试,这几天主要测试CUBE采用ROLAP下,PA的并发和稳定性。涉及表和维度,立方:事实表sales_fact_1997,维度表time_by_day;立方:sales。修改内容:删除原来的TIME维度,新建TIME维度,修改SALES立方。

数据插入:

1、事实数据插入:通过DTS加调度实现将sales_fact_1997的数据进行复制。频率为每分钟10000条。主要用到的SQL语句:select top 10000 * from sales_fact_1997

2、维度数据插入:通过SQL语句插入数据到time_by_day.

测试用到的SQL语句:

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'   /*延迟时间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, 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

*/

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

SET @the_date = @the_date + 1

SET @MyCounter = @MyCounter + 1

END

上一篇:深入浅出SQL教程之SELECT语句的自连接 人气:5511
下一篇:MS SQL可写脚本和编程的扩展SSIS包 人气:4707
浏览全部SQL的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐