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 命令未正确结束 错误,怎么回事啊?
修改以后也不正确~ 增加了空格 分号 等等 还是不行啊 只能在数据库里运行 程序里还是报错 由于是个保密项目,源码不方便给出太多:
CString strSQL="Insert into videosource (select * from videosourcespare where videosourcespare.VideoSourceID not in (select VideoSourceID from videosource))";
if (!m_rs->Open(strSQL))//根据设备后备表将设备表中没有的数据插入
{
CString strtxt;
strtxt.Format("数据库操作错误,%s,语句:%s",m_rs->GetLastErrorString(),strSQL);
ErrorLog(strtxt);
return;
}
展开
 我来答
coco22
高粉答主

2018-03-31 · 说的都是干货,快来关注
知道大有可为答主
回答量:254
采纳率:100%
帮助的人:4.2万
展开全部

一、对于这个错误:

  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。

zpsailor
2010-11-22 · TA获得超过2018个赞
知道小有建树答主
回答量:516
采纳率:0%
帮助的人:692万
展开全部
你在程序中将这句sql打印出来,然后复制到数据库中运行看是否能成功呢。这种情况一般是一些细节的问题,比如说两个单词之间少了空格这些。
你这个videosource(select 之间好像就没空格吧。试试看。
希望我的回答对你有所帮助。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友efae51f
推荐于2017-11-23 · TA获得超过2221个赞
知道大有可为答主
回答量:6916
采纳率:0%
帮助的人:3002万
展开全部
标准写法是:
insert into tablename values();
你加上 values试试吧.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友83b5c9e
2018-09-14 · 超过18用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:37万
展开全部
是否使用了mybatis,mybatis批量插入oracle时需要显式指定为 useGeneratedKeys="false" 不然报错~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ballanfeng
2010-11-22 · TA获得超过424个赞
知道小有建树答主
回答量:377
采纳率:0%
帮助的人:221万
展开全部
insert into table1 select * from table2 where table2id not in(select id from table3) 按照这个格式写试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式