【问题标题】:what is getting wrong with query ? [closed]查询出了什么问题? [关闭]
【发布时间】:2015-12-17 12:11:49
【问题描述】:
INSERT INTO EMP_COMPANY(ename,cname,salary,jdate) VALUES
('ANIL','ACC',1500.00,'01-MAY-89'),
........
('AMOL','ACC',1000.00,'17-MAR-95');

错误:ORA-00933:SQL 命令未正确结束。 语法中缺少什么?

【问题讨论】:

  • 我认为Oracle只支持使用values()插入一行。对多行使用select . . . from dual union all
  • 你没有问任何明确的问题。标题中的大写字母是不好的风格。你没有表现出任何解决问题的尝试。
  • 我试过了,但是没用。我突出显示了那个 oracle 10g ex 显示的错误......
  • ok @GordonLinoff 让我试试你的方法。

标签: oracle10g


【解决方案1】:

你不能像你正在做的那样多条记录。你可以这样尝试:

INSERT INTO EMP_COMPANY(ename,cname,salary,jdate) 
select 'ANIL','ACC',1500.00,'01-MAY-89' from dual
union all 
select 'SHANKAR','TATA',2000.00,'10-MAY-90' from dual
union all
select 'JAYA','CMC',1800.00,'7-JULY-91' from dual
union all
select 'SUNIL','CMC',1700.00,'1-JAN-88' from dual
union all
select 'VIJAY','TATA',5000.00,'3-JAN-88' from dual
union all
select 'PRAKASH','TATA',3000.00,'27-MAY-89' from dual

还有一个选项可以像这样使用INSERT ALL

   INSERT ALL
   INTO EMP_COMPANY (ename,cname,salary,jdate) VALUES ('ANIL','ACC',1500.00,'01-MAY-89')
   INTO EMP_COMPANY  (ename,cname,salary,jdate) VALUES ('SHANKAR','TATA',2000.00,'10-MAY-90')
   INTO EMP_COMPANY  (ename,cname,salary,jdate) VALUES ('JAYA','CMC',1800.00,'7-JULY-91')
   ...........
   SELECT 1 FROM DUAL;

【讨论】:

  • 谢谢你的其他方式..但我想告诉我..它(插入多行)是否可能以我上面显示的方式
  • @Himanshu:- 不,这不是插入多条记录的正确语法。
  • 我正在研究您的语法..“SELECT 1 FROM DUAL”在这里是什么意思。 ?但这是解决查询的替代方法..我的语法在 oracle 数据库中不起作用.. @rahul tripathi
  • @Himanshu:- 正如我所说,您的语法不正确。就select 1 from dual 而言,您可以这样理解,INSERT ALL 需要选择查询。
  • 是的,你是对的。有语法错误..
猜你喜欢
  • 2016-10-29
  • 2017-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-15
  • 1970-01-01
  • 2016-02-27
相关资源
最近更新 更多