繁体   English   中英

在SQL中插入多行

[英]Insert multiple row in sql

在Oracle Application Express中。 我创建了一个名为雇员的表。 我想通过一个命令插入多个行值。 我用这个命令

INSERT INTO Employees
VALUES(
(100,'Steven','King','SKING','515.123.4567',TO_DATE('06-17-1987','MM- DD-YYYY'),'AD_PRESS',24000,NULL,NULL,90),
(101,'Neena','Kochar','NKOCHHAR','515.123.4568',TO_DATE('09-21-1989','MM-DD-YYYY'),'AD_VP',17000,NULL,100,90),
);

我得到了ORA-00907:缺少右括号错误。 我的错误在哪里? 提前thnx。

Oracle这不是有效的语法;

要插入多行,可以使用union allinsert all

insert into tbl (
select val1, val2 from dual
union all
select val2, val4 from dual 
....
);

要么

insert all 
into tbl(clm1, clm2) values (val1, val2)
into tbl(clm1, clm2) values (val3, val4)
....
select 1 from dual;

尝试这个:

INSERT INTO Employees
select 100,'Steven','King','SKING','515.123.4567',TO_DATE('06-17-1987','MM- DD-YYYY'),'AD_PRESS',24000,NULL,NULL,90
union select 101,'Neena','Kochar','NKOCHHAR','515.123.4568',TO_DATE('09-21-1989','MM-DD-YYYY'),'AD_VP',17000,NULL,100,90

您需要全部插入

http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9014.htm

INSERT ALL 
  INTO Employees (cols) values (100,'Steven','King','SKING','515.123.4567',TO_DATE('06-17-1987','MM- DD-YYYY'),'AD_PRESS',24000,NULL,NULL,90)
  INTO Employees (cols) values (101,'Neena','Kochar','NKOCHHAR','515.123.4568',TO_DATE('09-21-1989','MM-DD-YYYY'),'AD_VP',17000,NULL,100,90)
select * from dual  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM