我需要在java中創建一個平面文件。在這個平面文件中,我寫了插入語句,其中數據來自oracle表。 以下是我的Java代碼從oracle導出表數據
stmtSQL="SELECT * FROM Table1";
resultSQL=null;
resultSQL=myCreateStmt.executeQuery(stmtSQL);
strSQLIns="";
while(resultSQL.next())
{
strSQLIns=strSQLIns+"INSERT INTO Table1 VALUES ('";
for(int iLoopCtr=0;iLoopCtr<27;iLoopCtr++)
{
if(iLoopCtr==26)
strSQLIns=strSQLIns+resultSQL.getString(iLoopCtr+1)+"'";
else
strSQLIns=strSQLIns+resultSQL.getString(iLoopCtr+1)+"','";
}
strSQLIns=strSQLIns+");\n";
}
當我運行這段代碼系統生成這樣
INSERT INTO Table1 VALUES ('80896948 ','gMWcjDMPXox4LVyrXGw0Ok+4SQI=');
INSERT INTO Table1 VALUES ('39454249 ','z+5fkcA+7wrZrF2455kngiTdYU4=');
INSERT INTO Table1 VALUES ('52167960 ','+N55nru+ewwhKPJygW99T8yEQXg=');
插入語句現在我不想使用while循環,使代碼生成上述INSERT語句。我想要一些快捷方式,所以我生成這種格式化的SQL查詢。
INSERT INTO Table1 (c1,c2) (SELECT '1', 'first row' FROM dual UNION SELECT '2', 'second row' FROM dual);
問題是什麼? –
有沒有什麼辦法可以像這樣在一次運行中以格式化的方式提供表格的數據「INSERT INTO Table1(c1,c2)(SELECT'1','first row'FROM dual UNION SELECT'2','second row' FROM dual);「所以我們可以用單個插入語句插入多行。 – Prem
@prem你解決了這個問題嗎? – quento