我有一个将数据保存到表中的应用程序,比如my_table。
my_table
id | name | salary
这是一个数据输入应用程序,没有集中式数据库。所有数据输入完成后,我必须合并数据库。我的计划是从说DB2导出插入语句并将其附加到DB1。所以我写了一个程序如下:
CREATE PROCEDURE insertToTable
DECLARE max_id INT DEFAULT 1
BEGIN
SELECT MAX(id) INTO max_id FROM my_table
INSERT INTO table(id,name,salary) VALUES(max_id+1,'tom',1000);
INSERT INTO table(id,name,salary) VALUES(max_id+1,'john',1500);
....//a lot of statements
END
在这里,我只是将 DB2 的 id 增加 DB1 的 max(id) 以避免冲突。它工作正常。
但是有些数据库有大量的记录。我可以得到这些带有'max_id'变量的插入语句。然后我可以从那个过程中的文件中执行这些'插入'语句。或者有没有更好的解决方案。。