社区
语言基础/算法/系统设计
帖子详情
如何对一张表插入多条记录?
呸呸呸呸呸呸呸呸呸
2004-11-20 07:58:30
要插入的几条记录只有一个字段不一样(比如同一个部门下的职工姓名)有什么方法?
...全文
95
4
打赏
收藏
如何对一张表插入多条记录?
要插入的几条记录只有一个字段不一样(比如同一个部门下的职工姓名)有什么方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
duanhai
2004-11-20
打赏
举报
回复
{ Purpose: 用於新增數據的測試,測試環境:
開發工具:Delphi 7
操作系統:Win XP SP2
系統硬件:Intel 2.8G, 512MB
表名:Create table testdt(d1 smalldatetime) 沒有索引
新增數據:10000
新增方法:一、SQL語句,3.79s
二、AdoQuery Append Post: 8.95s
三、AdoCommand 8.70s
四、AdoQuery UpdateBatch 4.89s
History:
-----------------------------------------------------------------------------}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ADODB, DB;
type
TForm1 = class(TForm)
EdtCount: TEdit;
Label1: TLabel;
BtnSqlInsert: TButton;
BtnPost: TButton;
Memo1: TMemo;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
ADOCommand1: TADOCommand;
BtnAdoCommand: TButton;
BtnUpdateBatch: TButton;
procedure BtnSqlInsertClick(Sender: TObject);
procedure BtnPostClick(Sender: TObject);
procedure BtnAdoCommandClick(Sender: TObject);
procedure BtnUpdateBatchClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
dtStart, dtEnd: Double;
implementation
{$R *.dfm}
procedure TForm1.BtnSqlInsertClick(Sender: TObject);
const
InsertSQL = 'insert into testdt(d1) values(%s) ';
var
i0: Integer;
iRecord: Integer;
strSQL: string;
begin
iRecord := StrToIntDef(EdtCount.text, 0);
SetLength(strSQL, 2000);
strSQL := '';
dtStart := Now;
for i0 := 1 to iRecord do
begin
if i0 mod 50 = 0 then
begin
ADOQuery1.Close;
ADOQuery1.Sql.Text := strSQL;
ADOQuery1.ExecSQL;
strSQL := '';
end;
strSQL := strSQL + Format(InsertSQL, [QuotedStr('2004-10-1')]);
end;
dtEnd := Now;
Memo1.Lines.Add(Format('%f', [(dtEnd - dtStart) / (1 / (24 * 3600))]));
end;
procedure TForm1.BtnPostClick(Sender: TObject);
var
i0: Integer;
iRecord: Integer;
begin
iRecord := StrToIntDef(EdtCount.text, 0);
ADOQuery1.Open;
ADOQuery1.DisableControls;
dtStart := Now;
for i0 := 1 to iRecord do
begin
ADOQuery1.Append;
ADOQuery1.FieldByName('d1').AsDateTime := 2004-10-1;
ADOQuery1.Post;
end;
dtEnd := Now;
ADOQuery1.EnableControls;
Memo1.Lines.Add(Format('%f', [(dtEnd - dtStart) / (1 / (24 * 3600))]));
end;
procedure TForm1.BtnAdoCommandClick(Sender: TObject);
var
i0: Integer;
iRecord: Integer;
begin
iRecord := StrToIntDef(EdtCount.text, 0);
dtStart := Now;
for i0 := 1 to iRecord do
begin
ADOCommand1.Parameters.ParamByName('d1').Value := 2004-10-1;
ADOCommand1.Execute;
end;
dtEnd := Now;
ADOQuery1.EnableControls;
Memo1.Lines.Add(Format('%f', [(dtEnd - dtStart) / (1 / (24 * 3600))]));
end;
procedure TForm1.BtnUpdateBatchClick(Sender: TObject);
var
i0: Integer;
iRecord: Integer;
begin
iRecord := StrToIntDef(EdtCount.text, 0);
ADOQUERY1.LOCKTYPE := LTBATCHOPTIMISTIC;
ADOQuery1.Open;
ADOQuery1.DisableControls;
dtStart := Now;
for i0 := 1 to iRecord do
begin
ADOQuery1.Append;
ADOQuery1.FieldByName('d1').AsDateTime := 2004-10-1;
ADOQuery1.Post;
end;
ADOQUERY1.UpdateBatch();
dtEnd := Now;
ADOQuery1.EnableControls;
Memo1.Lines.Add(Format('%f', [(dtEnd - dtStart) / (1 / (24 * 3600))]));
ADOQuery1.Close;
ADOQUERY1.LOCKTYPE := LTOPTIMISTIC;
end;
end.
zdq801104
2004-11-20
打赏
举报
回复
insert into 表名(字段名1,字段名2...) values(值1,值2...)就可以了
zdq801104
2004-11-20
打赏
举报
回复
用SQL语句不就可以了吗?
呸呸呸呸呸呸呸呸呸
2004-11-20
打赏
举报
回复
帮忙啊~
sqlite一次
插入
多条
记录
的优化方法
sqlite一次
插入
多条
记录
的优化方法 96 浪尖儿 2016.08.17 17:50* 字数 579 阅读 1397评论 0喜欢 3 Date: 2014-08-09 Summary: 有大量的数据要
插入
数据库,但是每次只写入一条在速度上很难接受。本文介绍了在sqlite...
oracle数据库单张
表
一次性
插入
多条
记录
的方法
方法2:拼接sql参数,使用函数一次性
插入
多条
记录
, 代码实例: insert into as_performance_info (id, apm_id, rpt_type, rpt_cycle, rpt_edate, corpno) select seq_as_performance_info.nextval, ...
insert
插入
多条
记录
、快速复制
表
、将查询结果
插入
一张
表
insert
插入
多条
记录
,快速复制
表
,将查询结果
插入
一张
表
解决两张
表
关联,
一张
表
插入
一条新数据,另外
一张
表
也跟着
插入
一条新数据问题
解决两张
表
关联,
一张
表
插入
一条新数据,另外
一张
表
也跟着
插入
一条新数据问题 1.问题描述 已知现在有两张
表
,分别是 user // 用来存放储户的信息 card // 用来存放银行卡的信息 现在要求在给新增一个用户的时候...
mysql像
表
中
插入
多条
记录
_如何用SQL语句向一个
表
中
插入
多行
记录
展开全部insert一般是用来给
表
插入
一条62616964757a686964616fe58685e5aeb931333433636666指定的列值的,但是,insert还存在另一种形式,可以利用它将一条select语句的结果
插入
表
中。这就是所谓的insert select,...
语言基础/算法/系统设计
16,748
社区成员
33,247
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章