sql命令未正常结束

ZhangSan-ZS 2015-03-26 01:47:26
INSERT INTO APP_DEVICE_CHANNEL(APP_ID,DEVICE_ID,CHANNEL_ID,RATE,RANK,TRANS_LIMIT,ENABLED) SELECT ?,T.DEVICE_ID,T.CHANNEL_ID,T.RATE,T.RANK,T.TRANS_LIMIT,? FROM DEVICE_CHANNEL T WHERE T.DEVICE_ID = ? ### Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束
程序debug打出的SQL,将其复制出来命令行可以运行,求解为什么???

框架mybatis
...全文
291 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ghost_520 2015-04-01
  • 打赏
  • 举报
回复
INSERT INTO APP_DEVICE_CHANNEL(APP_ID,DEVICE_ID,CHANNEL_ID,RATE,RANK,TRANS_LIMIT,ENABLED)   SELECT ?,T.DEVICE_ID,T.CHANNEL_ID,T.RATE,T.RANK,T.TRANS_LIMIT,?  FROM DEVICE_CHANNEL T WHERE T.DEVICE_ID = ?
预编译好像不能作为select 字段参数显示吧, 你将 select 字段那两个问号作为固定值字符串加上去试试呗
INSERT INTO APP_DEVICE_CHANNEL(APP_ID,DEVICE_ID,CHANNEL_ID,RATE,RANK,TRANS_LIMIT,ENABLED)   SELECT "+参数1+",T.DEVICE_ID,T.CHANNEL_ID,T.RATE,T.RANK,T.TRANS_LIMIT,"+参数2+"  FROM DEVICE_CHANNEL T WHERE T.DEVICE_ID = ?
y502596725 2015-03-31
  • 打赏
  • 举报
回复
在xml查询语句里面,末尾你是不是加了一个; 一般是不需要加这个的
枫醉秋 2015-03-27
  • 打赏
  • 举报
回复
如果复制出来可以运行,就得确认一下你的参数了,把参数也输出来,把参数写进去看看
tony4geek 2015-03-27
  • 打赏
  • 举报
回复
INSERT INTO APP_DEVICE_CHANNEL(APP_ID,DEVICE_ID,CHANNEL_ID,RATE,RANK,TRANS_LIMIT,ENABLED) 后面加个分号看看。
浮云若水 2015-03-27
  • 打赏
  • 举报
回复
mybatis 的sql语句 你得注意一下 你的sql语句中 一些符号的 特殊处理 你注意下 sql语句中是否有特殊符号
  • 打赏
  • 举报
回复
那就是你参数出问题了???

81,114

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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