我的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的最快方法是什么?
答案 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
以制作单独的插入语句,而不是一次完整插入。