[英]Using Java Copy data from one oracle Database table to another database table
[英]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.