我曾以通用方式尝试过查询,即;我想以通用方式将数据从一个表发送到另一个表,我的查询是: 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
提交
取消