是这样的,最近在做一个类似 navicat 的工具,数据库是 postgresql ,用户可能会发送这样的 SQL 到后端。
UPDATE Websites SET alexa='5000', country='USA;' ;UPDATE Websites SET alexa='5000', country='U ; SA' ;
就是一下发送两条过来。
我用 JDBC 的方法
int updatedCount = statement.executeUpdate("UPDATE Websites SET alexa='5000', country='USA;' ;UPDATE Websites SET alexa='5000', country='U ; SA' ;");
返回的 updatedCount 只会是第一个 update 语句的,所以想有没有什么办法把整条字符串分割为单条 SQL 组成的数组,从而一条条执行来累加返回结果,获得总的更新条数。
1
juzheng 2023-03-25 09:32:55 +08:00
如果使用 Java 的话,Stack Overflow 上的这个问题里可能有解决办法: https://stackoverflow.com/questions/26119991/how-to-split-sql-queries-using-java
|
2
dumbbell5kg OP @juzheng 我很好奇,这个问题是怎么搜到的,如果我直接在 StackOverflow 上搜 split sql ,那么有 30 多页问题,我看了第一页里没有你这个链接,可能再翻两页还没有,那我就不会往下再翻了,也在谷歌搜索李尝试过各种英文关键字,都没有搜到这种问题。
|