• 全部
...

ORA-00933: SQL 命令未正确结束

zh_lingjun 2010-10-08 07:12:44
现象:
在 Oracle SQL 命令中执行如下 SQL 语句:

  1. insert into province values('8','辽宁省')
  2. /
  3. insert into province values('9','吉林省')
  4. /
  5. insert into province values('10','黑龙江省')
  6. /

提示错误如下:
ORA-00933: SQL 命令未正确结束

请问是什么原因?

PS:
上面语句单条执行是正确的~
...全文
给本帖投票
43780 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zh_lingjun 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 minitoy 的回复:]

block的基本机构是
delcare
varlist
begin
dosomething
end;
[/Quote]

谢谢了~ 知道了许多! :)
minitoy 2010-10-09
  • 打赏
  • 举报
回复
block的基本机构是
delcare
varlist
begin
dosomething
end;
zh_lingjun 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wkc168 的回复:]

引用 9 楼 zh_lingjun 的回复:
引用 6 楼 xman_78tom 的回复:

SQL code

begin
insert into province values('8','辽宁省');
insert into province values('9','吉林省');
insert into province values('10','黑龙江省');
end;
……
[/Quote]

我看了下关于 SQL Command 的说明:
A SQL command can contain SQL statements or PL/SQL blocks.
但是没找到关于执行包含 PL/SQL blocks 的 SQL command 时应该注意什么~
能不能理解为,在Oracle 的 sql command 窗口中执行 blocks 的时候需要加上begin... end命令才可以?
minitoy 2010-10-09
  • 打赏
  • 举报
回复
命令结束文档??
心中的彩虹 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zh_lingjun 的回复:]
引用 6 楼 xman_78tom 的回复:

SQL code

begin
insert into province values('8','辽宁省');
insert into province values('9','吉林省');
insert into province values('10','黑龙江省');
end;
/

xman_78tom 谢谢这位兄弟~ ……
[/Quote]
这样写相当于一个匿名块而已 ,也可以这样
begin
insert into province values('8','辽宁省');
commit;
end;
心中的彩虹 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 zh_lingjun 的回复:]
现象:
在 Oracle SQL 命令中执行如下 SQL 语句:

SQL code

insert into province values('8','辽宁省')
/
insert into province values('9','吉林省')
/
insert into province values('10','黑龙江省')
/


提示错误如下:
ORA-009……
[/Quote]



insert into province values('8','辽宁省');
insert into province values('9','吉林省');

insert into province values('10','黑龙江省');










zh_lingjun 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xman_78tom 的回复:]

SQL code

begin
insert into province values('8','辽宁省');
insert into province values('9','吉林省');
insert into province values('10','黑龙江省');
end;
/
[/Quote]
xman_78tom 谢谢这位兄弟~ 加入 begin 和 end 后插入成功了~ 但能进一步解释下吗,我想会有许多人想知道的! 谢谢~
雪狼__ 2010-10-09
  • 打赏
  • 举报
回复
你怎么不用 “;”?
zh_lingjun 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gelyon 的回复:]

一个语句以逗号结束!
insert into province values('8','辽宁省');

insert into province values('9','吉林省');

insert into province values('10','黑龙江省');
[/Quote]
Oracle 命令结束文档说有3种方式 分号是一种,我上面那也是一种,还有一种是换行就可以,所以说这两种是等价的~
用分号结束这种方式我也试过了,报的错误是:有非法字符
xman_78tom 2010-10-08
  • 打赏
  • 举报
回复

begin
insert into province values('8','辽宁省');
insert into province values('9','吉林省');
insert into province values('10','黑龙江省');
end;
/
tashiwoweiyi 2010-10-08
  • 打赏
  • 举报
回复
oracle中多条语句运行时,每一条语句都要以分号结束
gelyon 2010-10-08
  • 打赏
  • 举报
回复
呵呵,我错了
Phoenix_99 2010-10-08
  • 打赏
  • 举报
回复
一楼错了,是分号
gelyon 2010-10-08
  • 打赏
  • 举报
回复
一个语句以逗号结束!
insert into province values('8','辽宁省');

insert into province values('9','吉林省');

insert into province values('10','黑龙江省');

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧

手机看
关注公众号

关注公众号

客服 返回
顶部