我曾以通用方式嘗試過查詢,即;我想以通用方式將數據從一個表發送到另一個表,我的查詢是: Statement mystmt=myConn.createStatement(); ResultSet rs = mystmt.executeQuery("SELECT * FROM empdetails"); ResultSetMetaData rsmd = rs.getMetaData(); int columnCount=rsmd.getColumnCount(); int i=1,j=1; while(j<=columnCount && i<=columnCount ) { arr1[i]= rsmd.getColumnName(j); System.out.println(arr1[i]); i++; j++; } int k=1; System.out.println(mystmt.executeUpdate("insert into table2(srccol_name,srccol_data)select 'empno',"+arr1[k]+" from empdetails")); 而這里的問題在于 srccol_name(即;'empno'),我已經硬編碼了 columnName。任何人都可以為此提供解決方案。
2 回答

瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
如果我刪除 Quote 并將查詢寫入 table2(srccol_name,srccol_data)select empno,"+arr1[k]+" from empdetails 那么輸出將是
表2
srccol_name | srccol_data
101 101 102 102 103 103
104 104
但輸出應該是
表2
srccol_name | srccol_data
員工編號 101 員工編號 102 員工編號 103 員工編號 104

萬千封印
TA貢獻1891條經驗 獲得超3個贊
正如您所說,您正在編寫通用 sql。只需從該特定列中刪除引號。它應該工作。
例如: insert into table2(srccol_name,srccol_data) select empno,"+arr1[k]+" from empdetails
所以,在運行時你的查詢會變得像 insert into table2(srccol_name,srccol_data) select empno, second_column_name from empdetails
添加回答
舉報
0/150
提交
取消