我想在oracle里面插入多条记录?

我想在oracle里面插入多条记录,使用的是如下sql语句:
INSERT INTO tbl_name (col1, col2) VALUES (value1_1, value1_2),(value2_1, value2_2),(value3_1, value3_2)...;
请问是否可以用这样的语句插入多条数据,如果可以,要怎么修改语句才行?谢谢

网上说不可以,不知道是不是这样~~~
最新回答
王牌冤家

2024-11-29 09:27:03

使用PL/SQL应该可以。

DECLARE

TYPE TBLTYPE_INSERT_TEST_T IS TABLE OF 对象表名%ROWTYPE
INDEX BY BINARY_INTEGER;

i PLS_INTEGER;
BEGIN

-- 创建数组
TEST_DATA(1).col1 := value1_1;
TEST_DATA(1).col2 := value1_2;

TEST_DATA(2).col1 := value2_1;
TEST_DATA(2).col2 := value2_2;

......

-- 一次性插入多条纪录
FORALL i IN TEST_DATA.FIRST..TEST_DATA.LAST
INSERT INTO 对象表名 VALUES TEST_DATA(i);

COMMIT;

END;
傲慢与偏见

2024-11-29 09:09:41

的确不可以,只能这样,没有办法
INSERT INTO tbl_name (col1, col2) VALUES (value1_1, value1_2);
INSERT INTO tbl_name (col1, col2) VALUES (value2_1, value2_2);
INSERT INTO tbl_name (col1, col2) VALUES (value3_1, value3_2);
一般先记事本里写好,(可以复制),在粘贴到sqlplus下运行
时光让我们忘记模样

2024-11-29 08:13:58

INSERT INTO tbl_name (col1, col2) VALUES (value1_1, value1_2);
INSERT INTO tbl_name (col1, col2) VALUES (value2_1, value2_2);
INSERT INTO tbl_name (col1, col2) VALUES (value3_1, value3_2);
.....