我有一個讀取文件並生成sql插入語句的應用程序。現在我想將50個語句合併到一個塊中:用Java編寫生成50個塊的.sql語句
我的解決方案不起作用並且不完整,因爲可能存在只有37個statemets的情況,但是在我的情況下存在FROM DUAL; COMMIT;
丟失。
我有點遺留。我想知道一個合適的方法,合併多個50條語句,當剩下的條件較少時,因爲它們是最後一條語句,它們也應該合併。
也許有人有一些想法?
SCHEMA/輸出
INSERT
INTO
INTO
INTO.... (total 50 lines)
FROM DUAL;
COMMIT;
CODE(摘錄)
final String template = "INTO %s (%s) VALUES (%s);";
List<String> statements = new ArrayList<>();
for (int i = 1; i < lines.size(); i++) {
........
int counter = 0;
if(counter == 0) {statements.add("INSERT"); }
if(counter == 50) {statements.add("FROM DUAL;\nCOMMIT;"); counter = 0;}
counter++;
statements.add(String.format(template, tableN, cols.toString(), vals.toString())); }
你爲什麼不動'statements.add( 「FROM DUAL; \ nCOMMIT;」);'圈外,並在循環之後插入它? – dejvuth