1

我的 oracle 数据库有大约 700 MB 的插入语句,但这些语句用于在 MySQL 数据库中插入数据。因此语法是

    INSERT INTO TABLE 
        (EXCH_WH_KEY, EXCH_EFF_DATE) 
        VALUES
    (1, '28-AUG-2008'),
    (2, '28-AUG-2008'),
    (3, '28-AUG-2008');

等等。但由于它是约 700 MB 的语句,我无法更新它们的所有语法。将数据导入我的 oracle DB 的最快方法是什么?

4

2 回答 2

0

在执行mysqldump--extended-insert=FALSE期间,添加--compatible=oracle单独的插入语句而不是一个完整的插入。

于 2015-01-06T06:52:43.857 回答
0

将数据插入 MySQL 数据库,然后使用mysqldump标志--compatible=oracle以 Oracle 兼容格式将其导出。然后照常插入Oracle数据库。

如果这不起作用(如下面的评论所示),您可以使用字符串连接从 MySQL 数据库中读取并生成与 Oracle 兼容的插入语句,例如:

SELECT CONCAT('INSERT INTO mytable(EXCH_WH_KEY, EXCH_EFF_DATE) VALUES (', EXCH_WH_KEY, ', \'', EXCH_EFF_DATE, '\')') FROM mytable;

请注意,字符串列必须用转义引号括起来。

于 2013-10-01T19:27:16.400 回答