【问题标题】:How can I convert the JDBC resultset data into Insert queries?如何将 JDBC 结果集数据转换为插入查询?
【发布时间】:2015-04-19 05:30:13
【问题描述】:

出于某些目的,我想将JDBC resultset 中的记录转换为insert queries

有可能吗?如果是请建议我解决方案。

【问题讨论】:

  • 对于您的目标到底是什么,我有点困惑。但是,我相信您可以使用JDBC ResultSet 创建插入查询。在这种情况下,您必须创建存储过程并将ResultSet 的值作为参数传递给该过程,然后执行。如果这不是您打算做的,请进一步详细说明您的问题。

标签: java jdbc resultset


【解决方案1】:

您可以为此使用纯 SQL。

正如 MySQL docs 所说:

INSERT INTO tbl_temp2 (fld_id)
  SELECT tbl_temp1.fld_order_id
  FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;

您也可以在其他 SQL 方言中使用带有插入功能的选择子查询。

【讨论】:

    【解决方案2】:

    这是一个关于从 ResultSet 生成 CREATE TABLE 查询的问题。 How to create table based on JDBC Result Set

    通过一些更改,您应该也可以将其调整为 INSERT 查询。

    请注意,值必须根据列的数据类型加上引号或日期转换函数等。

    此外,CLOB 等大型对象需要一些额外的工作才能使其正常工作。

    【讨论】:

      【解决方案3】:

      根据我对你问题的理解,你可以这样尝试

      try{
      
              ps=con.prepareStatement("select * from login");
                           rs=ps.executeQuery();
                           while(rs.next())
                           {
                                ps=con.prepareStatement("insert into table2(uname,pswd) values(?,?)");
                                ps.setString(1,rs.getString(2));// 2-column number
                                ps.setString(2,rs.getString(3));//3-column number
                                ps.executeUpdate();
                           }
      
      
      
          }catch(Exception e)
          {
              System.out.println(e);
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-27
        相关资源
        最近更新 更多