oracle 问题 ORA-00933: SQL 命令未正确结束 如何解决?

供稿:hz-xin.com     日期:2024-05-18
ora-00933: sql 命令未正确结束怎么解决

问题分析:
出现ora-00933错误的原因是因为运行两句sql,但是中间没用标点隔开导致。
如图:

解决方案:
在两句sql中,每句以英文的逗号分隔即可。

给2010.dbf加上[]。
select * into users from
openrowset('MICROSOFT.JET.OLEDB.4.0',
'dBase 5.0;DATABASE=G:\','select * from [2010.dbf]');

一、对于这个错误:

  1. 首先仔细检查sql语句是否存在语法错误。

(如果确认没有错误,可以拿到sql development中去用sql工具试试)。

2.检查使用连接数据库的方法。

executeQuery、execute、executeUpdate是否存在使用错误,或者换个试试。

3.我把sql语句中的‘;‘去掉了,然后sql语句运行正常,没有报错,原因未知。

二、解决方案:

1)方案一:清空回收站(recyclebin)命令 : PURGE recyclebin;

2)方案二:收回表的命令:命令 :flashback table 原表名 to before drop;

3)方案三:直接删除表,不经过回收站:

(1)方法一: drop table 表名 purge;

(2) 方法二 :停用数据库的回收战功能; 10.1版本中,修改隐藏参数 _recyclebinalter system set "_recyclebin" = false;10.2版本中,alter system set recyclebin = off。



你在程序中将这句sql打印出来,然后复制到数据库中运行看是否能成功呢。这种情况一般是一些细节的问题,比如说两个单词之间少了空格这些。
你这个videosource(select 之间好像就没空格吧。试试看。
希望我的回答对你有所帮助。

标准写法是:
insert into tablename values();
你加上 values试试吧.

是否使用了mybatis,mybatis批量插入oracle时需要显式指定为 useGeneratedKeys="false" 不然报错~~~

insert into table1 select * from table2 where table2id not in(select id from table3) 按照这个格式写试试