繁体   English   中英

使用 Java 将数据从一个表复制到 oracle 数据库中的另一个表

[英]Copying the data from one table to other table in oracle database using Java

我是 Java 和

我有一个表名 TABLE1,其列名是 NAME、ROLL。

CREATE TABLE TABLE1(NAME VARCHAR2(4), ROLL NUMBER(3));

INSERT INTO TABLE1 VALUES ('SAMY', 101);
INSERT INTO TABLE1 VALUES ('TAMY', 102);
INSERT INTO TABLE1 VALUES ('JAMY', 103);
INSERT INTO TABLE1 VALUES ('RAMY', 104);

我有另一个表名 TABLE2 具有列名 NAME、ROLL。

CREATE TABLE TABLE1(NAME VARCHAR2(4), ROLL NUMBER(3));

我们需要编写一个 Java 程序,将 oracle 中的表 1 中的数据迁移到表 2 中,并在控制台打印结果。

我正在使用 Oracle SQL 开发人员。 我写了一个 Java 程序但不确定它是否准确。

    java.lang.Class;
    java.sql.Connection;
    java.sql.DriverManager;
    java.sql.ResultSet;
    java.sql.Statement;

    public class JDBCDemoConnection
    {
       public static void main(String[] args)
       {
          try
             {
                Class.forName("oracle.jdbc.driver.OracleDriver");
                Connection connection = null;
                connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "username", "password");
                Statement smt = connection.createStatement();
                String sql = "INSERT INTO TABLE2 (NAME,ROLL)" + "SELECT NAME, ROLL FROM TABLE1";
                
                int i = smt.executeUpdate(sql);
                System.out.println(i+ " row is inserted into the table");

                connection.close();

             }
            catch(Exception E)
             {
               System.out.println(E);
             }
       }
    }

问题在于您正在使用的 SQL 查询。 连接后,查询看起来像INSERT INTO TABLE2 (NAME,ROLL) SELECT NAME, ROLL FROM TABLE1这不是有效的 SQL 语句。

只需使用SELECT INTO语句将数据从一个表复制到一个新表。

Statement smt = connection.createStatement();
String sql = "SELECT NAME, ROLL INTO TABLE2 FROM TABLE1";
boolean result = smt.execute(sql);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM