使用 Java 将数据从一个 table 复制到 oracle 数据库中的另一个 table
Copying the data from one table to other table in oracle database using Java
我是Java和
的新手
我有一个 table 名称 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);
我有另一个 table 名称 TABLE2,其列名称为 NAME、ROLL。
CREATE TABLE TABLE1(NAME VARCHAR2(4), ROLL NUMBER(3));
我们需要编写一个Java程序,将oracle中的数据从TABLE1迁移到TABLE2,并在控制台打印结果。
我正在使用 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
语句将数据从一个 table 复制到一个新的 table。
Statement smt = connection.createStatement();
String sql = "SELECT NAME, ROLL INTO TABLE2 FROM TABLE1";
boolean result = smt.execute(sql);
我是Java和
的新手我有一个 table 名称 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);
我有另一个 table 名称 TABLE2,其列名称为 NAME、ROLL。
CREATE TABLE TABLE1(NAME VARCHAR2(4), ROLL NUMBER(3));
我们需要编写一个Java程序,将oracle中的数据从TABLE1迁移到TABLE2,并在控制台打印结果。
我正在使用 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
语句将数据从一个 table 复制到一个新的 table。
Statement smt = connection.createStatement();
String sql = "SELECT NAME, ROLL INTO TABLE2 FROM TABLE1";
boolean result = smt.execute(sql);