如何在数据库中批量插入数据
4个回答
展开全部
可以使用oracle sql loader批量导入数据:
生成测试数据的EXCEL文件,把EXCEL文件另存为CSV(逗号分隔)(*.csv),控制文件设置为用逗号分隔。
示例:
LOAD DATA
INFILE ‘d:\car.csv’
APPEND INTO TABLE t_car_temp
FIELDS TERMINATED BY ","
(phoneno,vip_car)
保存为input.ctl
最后在命令行下输入:
C:\>sqlldr userid=system/manager
control=input.ctl(在unix环境下亦同)
默认日志文件名为:input.log
默认坏记录文件为:input.bad
生成测试数据的EXCEL文件,把EXCEL文件另存为CSV(逗号分隔)(*.csv),控制文件设置为用逗号分隔。
示例:
LOAD DATA
INFILE ‘d:\car.csv’
APPEND INTO TABLE t_car_temp
FIELDS TERMINATED BY ","
(phoneno,vip_car)
保存为input.ctl
最后在命令行下输入:
C:\>sqlldr userid=system/manager
control=input.ctl(在unix环境下亦同)
默认日志文件名为:input.log
默认坏记录文件为:input.bad
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以将两个日期之前的天数求出来,然后作为控制循环的次数,然后定义个起始日期,循环里对这个日期进行递增。
像下面这样 :
DECLARE
V_DATE DATE;
V_DAYS NUMBER;
V_DATE_BEGIN DATE;
V_DATE_END DATE;
BEGIN
V_DATE_BEGIN := TO_DATE('20101101',
'yyyymmdd');
V_DATE_END := TO_DATE('20100301',
'yyyymmdd');
V_DAYS := V_DATE_END - V_DATE_BEGIN;
FOR I IN 1 .. V_DAYS
LOOP
V_DATE := V_DATE_BEGIN + I;
insert into tablename values (v_days) ;
END LOOP;
END;
像下面这样 :
DECLARE
V_DATE DATE;
V_DAYS NUMBER;
V_DATE_BEGIN DATE;
V_DATE_END DATE;
BEGIN
V_DATE_BEGIN := TO_DATE('20101101',
'yyyymmdd');
V_DATE_END := TO_DATE('20100301',
'yyyymmdd');
V_DAYS := V_DATE_END - V_DATE_BEGIN;
FOR I IN 1 .. V_DAYS
LOOP
V_DATE := V_DATE_BEGIN + I;
insert into tablename values (v_days) ;
END LOOP;
END;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只能循环插入数据,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该使用insert into语句,我也是菜鸟一枚,只知道这么多咯
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询