JDBC 执行 Insert Select 联合语句.

oldwolf1987 2016-06-02 10:17:26
大家好, 我有个问题,

因为业务需要, 使用了 PrepareStatement 执行一段 Insert 和 Select 联合SQL.
SQL 如下:
Insert Into [TABLE_A] Select * From [TABLE_B]
但是,现在执行的时候, 遇到了问题. TABLE_B的其中一行记录由于指定字段数据为空, 而导致整个SQL执行失败.

那么,请问Java有没有什么方法, 在执行这段SQL的时候, 将SQL所执行的内容打印出来?
因为我想这样, 在执行的时候, 我就能快速定位到错误的那条记录.

...全文
621 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldwolf1987 2016-06-03
  • 打赏
  • 举报
回复
我想要的效果是. Insert SELECT 出来的数据, 都输出到日志里面. 因为 这个是Insert 和 Select的联合语句, 所以, 不晓得有没有什么方法抓取数据. 但是,不能单独的执行Select. 因为select的数据有问题, 不能直接打印出来. 我想要,在执行Insert Select的时候, 把错误执行的数据打印出来.错误之前执行正确的数据也打印出来. 没执行的数据, 就不打印出来.
键圣 2016-06-02
  • 打赏
  • 举报
回复
原因是因为你两个表的约束条件不一致引起的,你可以选择把目标表的not null 去掉,或者维护你的源数据表让他非空 这个JDBC没关系,他只是把语句传递给数据库你可以查看数据库执行日志

62,628

社区成员

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

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