如何将数据发送到存储过程,该存储过程将作为MySql中多个表中的多行插入。我知道选项load datafile和load xml。但我想将数据作为参数传递给SP(不想使用文件,因为我想避免从远程机器到服务器的文件传输)。
例如。如果我想在2个表中插入2行,如何发送所有4行的数据。
可能我可以发送2个文本参数,每个参数包含每个表的插入查询。这是最好的方法吗?
答案 0 :(得分:0)
您可以将数据作为参数发送, 假设您可以使用Text数据类型参数,并且可以使用逗号分隔发送数据。 在SP中,您可以从参数中提取数据并将其用于插入表
答案 1 :(得分: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; //