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

语句:Insertintovideosource(select*fromvideosourcesparewhereVideoSourceIDnotin(selectVid... 语句:Insert into videosource(select * from videosourcespare where VideoSourceID not in(select VideoSourceID from videosource))
补充:我在Oracle里面运行没有错误,但是在程序里面运行就报:ORA-00933: SQL 命令未正确结束 错误,怎么回事啊?
展开
 我来答
刺友互
高粉答主

2019-07-03 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:70.9万
展开全部

1、测试前添加一个快照点call dbms_workload_repository.create_snapshot();。

2、然后开始测试.或者程序运行完。测试完后,再加一个快照点。

3、打开toad for oracle软件连接oracle数据库。如果连接不上,需要配置系统环境变量,把Oracle的客户端目录配置下。

4、环境变量配置好的之后,打开小娃【连接】-->【连接参数】自动识别Oracle的.ora文件。

5、然后【数据库】-【监视】-【AWR报告】。

6、然后选择前后的快照点。然后run。最好的选择html文件。

coco22
高粉答主

推荐于2019-08-10 · 说的都是干货,快来关注
知道大有可为答主
回答量:254
采纳率:100%
帮助的人:4万
展开全部

一、对于这个错误:

  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。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式