用的是PL/SQL Developer
就是有一张table表,假设有6个字段好了 a b c d e f
我要往里面插10W条数据
a b是主key,a是5位的,就是说最多也就是从0-99999,b是8位的日期项目,然后c是某个固定的值,这10W条数据的c必须是同一个值
要是插一条的话就是 insert into table values ('88','20120715','123','d','e','f')
差不多就是这个样子
我现在要把a从0-99999都插满,因为循环日期b的话,貌似更复杂吧
要怎么写呢?
------解决方案--------------------
直接写储存过程呗
------解决方案--------------------
- SQL code
--例子,10改为100000,其他改为你想要的就可以了create table t(a varchar2(20),b varchar2(20),c varchar2(20),d varchar2(20),e varchar2(20),f varchar2(20));declare row int := 0;begin while row<10 loop insert into t values(row,'20120715','123','d','e','f'); row := row+1; end loop;end;/
------解决方案--------------------
写个循环就行了,a和b都可以循环插入值。
------解决方案--------------------
存储过程 用while、for循环都可以满足
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
declare
maxrecords constant int:=100000;
i int :=1;
V_COUNT NUMBER := 0;
begin
for i in 1..maxrecords loop
INSERT INTO tt
(ID,
age
)
VALUES
(
INVOICE_ID.NEXTVAL,
TRUNC(DBMS_RANDOM.VALUE(1, 100))
);
V_COUNT := V_COUNT + 1;
IF V_COUNT = 500 THEN
COMMIT;
V_COUNT := 0;
END IF;
end loop;
dbms_output.put_line(' 成功录入数据! ');
commit;
end;
换下字段!主key取sequence!