将多个值插入oracle DB

时间:2013-10-01 19:21:37

标签: mysql oracle converter

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

    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的最快方法是什么?

2 个答案:

答案 0 :(得分:0)

将数据插入MySQL数据库,然后使用带有--compatible=oracle标志的mysqldump以Oracle兼容格式导出数据。然后按正常方式插入Oracle数据库。

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

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

请注意,String列必须包含在转义引号中。

答案 1 :(得分:0)

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