2014-10-06 102 views
0

如何将数据发送到要在MySql的多个表中作为多行插入的存储过程。我知道选项加载数据文件并加载xml。但我想通过数据作为参数给SP(不想使用文件,因为我想避免从远程机器到服务器的文件传输)。使用mysql中的SP将多行插入到多个表中

例如,如果我想插入2行到2个表如何发送所有4行的数据。

也许我可以发送2个文本参数每一个包含每个表的插入查询。这是最好的方法吗?

回答

0

你可以发送数据作为参数, 假设你可以有文本数据类型参数,你可以发送昏迷分开的数据。 在SP中,您可以从参数中提取数据并将其用于插入表格

0
DELIMITER // 
DROP PROCEDURE IF EXISTS myInsert; // 
CREATE PROCEDURE myInsert(IN name1 CHAR(40), IN val1 INTEGER(11), IN name2(CHAR(40), IN val2 INTEGER(11)) 
BEGIN 
INSERT INTO test1 (name, val) VALUES (name1, val1), (name2, val2); 
INSERT INTO test2 (val) VALUES (val1), (val2); 
END; //