在ORACLE中,如何一次插入多条记录(数组中的数据)

cnzyg 2004-04-16 11:38:38
以前学过这种SQL:
INSERT INTO S(A,B,C)
VALUES(0,'B1','C'),
(1,'B2','C2')
.
.
可以一次插入多条,可现在我在PL/SQL中写这语句时,总报SQL不能正常终了,请问如何才能一次将变体数组中的多条一次插入呢
...全文
479 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flymoon 2004-05-08
  • 打赏
  • 举报
回复
insert all
into comfort(city,sample,noon,midnight)
values('1','1','1','1')
into comfort(city,sample,noon,midnight)
values('2','2','2','2')
select * from dual
zwbbj 2004-05-07
  • 打赏
  • 举报
回复
insert all
into comfort(city,sample,noon,midnight)
values('1','1','1','1')
into comfort(city,sample,noon,midnight)
values('2','2','2','2')
select * from dual
beckhambobo 2004-04-17
  • 打赏
  • 举报
回复
insert into s (a,b,c) select ... from ...;
or
begin
for i in 1..10 loop
insert into s (a,b,c) values(...);
end loop;
end;
/
liuyi8903 2004-04-17
  • 打赏
  • 举报
回复
up一下。
dclssczg 2004-04-16
  • 打赏
  • 举报
回复
insert into tab(field...) select ...
行不?
baojianjun 2004-04-16
  • 打赏
  • 举报
回复
我暫時不知道
lianhg 2004-04-16
  • 打赏
  • 举报
回复
不可能的
jiangchuanli 2004-04-16
  • 打赏
  • 举报
回复
我只知道
INSERT INTO S(A,B,C) VALUES(0,'B1','C')
INSERT INTO S(A,B,C) VALUES(1,'B2','C2')
......commit



DECLARE
BEGIN
FOR I IN 1..500 LOOP
insert into table_aa(col_a,col_b) values (I,i||i);
COMMIT WORK;
END LOOP;
END;
/

drabit 2004-04-16
  • 打赏
  • 举报
回复
forall

例子

DECLARE
TYPE NumList IS VARRAY(20) OF NUMBER;
depts NumList := NumList(10, 30, 70); -- department numbers
BEGIN
FORALL i IN depts.FIRST..depts.LAST
insert into emp(deptno) values(depts(i));
END;

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧