我想在oracle里面插入多条记录,使用的是如下sql语句:INSERT INTO tbl_name (col1, col2) VALUES (value1_1, value1_2),(value2_1, value2_2),(value3_1, value3_2)...;请问是否可以用这样的语句插入多条数据,如果可以,要怎么修改语句才行?谢谢 网上说不可以,不知道是不是这样~~~
使用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;
的确不可以,只能这样,没有办法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下运行
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);.....