我想插入多行插入表中沒有指定列名,但是,我的第一個逗號,它的一個部分認可的規則得到一個錯誤,它給我一個錯誤SQL多次插入到多行
INSERT INTO MY_EMPLOYEE
VALUES(126,'Popov', 'Olga', 'opopov', 8500),
(127, 'Chen', 'Ling', 'lcheng', 14500),
(128, 'Dunn', 'David', 'ddunn', NULL);
我想插入多行插入表中沒有指定列名,但是,我的第一個逗號,它的一個部分認可的規則得到一個錯誤,它給我一個錯誤SQL多次插入到多行
INSERT INTO MY_EMPLOYEE
VALUES(126,'Popov', 'Olga', 'opopov', 8500),
(127, 'Chen', 'Ling', 'lcheng', 14500),
(128, 'Dunn', 'David', 'ddunn', NULL);
我不認爲Oracle支持VALUES
與多個記錄。下面是一個簡單的選擇:
INSERT INTO MY_EMPLOYEE
SELECT 126,'Popov', 'Olga', 'opopov', 8500 FROM DUAL UNION ALL
SELECT 127, 'Chen', 'Ling', 'lcheng', 14500 FROM DUAL UNION ALL
SELECT 128, 'Dunn', 'David', 'ddunn', NULL FROM DUAL;
注:我強烈建議您指定插入的列,但那是另一個問題。
試試這個;
INSERT INTO MY_EMPLOYEE(col1_name,col2_name,col3_name,col4_name,col5_name)
VALUES(126,'Popov', 'Olga', 'opopov', 8500),
(127, 'Chen', 'Ling', 'lcheng', 14500),
(128, 'Dunn', 'David', 'ddunn', NULL);
這是MySQL語法,問題是關於不支持以這種方式插入多行的Oracle。 – axiac
https://stackoverflow.com/a/26612365/4899193 –
這是你需要做的事情,只有一次你正在寫一個應用程序,將被投入許多人的手中嗎? – jeff6times7