码迷,mamicode.com
首页 > 数据库 > 详细

ORA-00933: SQL command not properly ended

时间:2014-06-13 17:39:25      阅读:658      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   java   http   

今天写了一个小的SQL语句类似下面的这句:

bubuko.com,布布扣
UPDATE A 
SET ID=B.ID 
FROM A,B 
WHERE A.NAME=B.NAME
bubuko.com,布布扣

 

在执行时居然报了“ORA-00933: SQL command not properly ended”这个错误提示信息,SQL语句如此简单,不应该出现错误的!但是事实上确实报错了,仔细看了下没发现那里有问题,百度了一下,出现这个错误的情况还是挺多的,当抛出此错误提示信息,代表着SQL语句本身就是有问题的!(ORA-00933:SQL命令没有正确的结束)比如:

1:可能SQL语句中关键字前后缺少空格

2:Oracle 给表起别名时,直接在表名的后面空格别名就可以,不需要AS

3:SQL 语句中缺少关键字或者多了某个关键字,比如:AND

4:SQL 语句中缺少关键字或者多了某个标点符号,比如:,

5:数据库不同的版本或不同的数据库支持的SQL的语法规则是不一样的,一句SQL语句在一个数据中是正确的在另一个数据库中未必也正确

后来发现,这个错误是很低级的,为了加深印象,在这里特记录一下!在ORACLE数据库中不支持我上面的这种修改的写法,不能如此使用FROM这个关键字,应该这样来写才对(如下所示:)!

bubuko.com,布布扣
UPDATE A 
SET ID=(
        SELECT ID 
        FROM B 
        WHERE A.NAME=B.NAME
       )
bubuko.com,布布扣

参考:

1:http://stackoverflow.com/questions/8940471/sql-error-ora-00933-sql-command-not-properly-ended

2:http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_10008.htm#SQLRF01708

 

ORA-00933: SQL command not properly ended,布布扣,bubuko.com

ORA-00933: SQL command not properly ended

标签:style   class   blog   code   java   http   

原文地址:http://www.cnblogs.com/godtrue/p/3784526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!