【发布时间】:2015-12-05 19:00:49
【问题描述】:
我想知道是否可以使用存储过程将平面文件中的数据加载到多个表中(需要多次插入)。
我已经有一个存储过程
CREATE PROCEDURE `Insert_Hockey` (cardyear YEAR, fname VARCHAR(45), lname VARCHAR(45), brand VARCHAR(45), card_id VARCHAR(8))
BEGIN
/* Create another generic 'Item' in Items table */
INSERT INTO Items(category_id) VALUES (2);
/* Need to use the AUTO_INCREMENTED item_id from Items below so use LAST_INSERT_ID */
INSERT INTO Hockey_Cards VALUES(LAST_INSERT_ID(), cardyear, fname, lname, brand, card_id);
END
现在假设我在电子表格中有一堆关于曲棍球卡的数据。我可以导出为制表符分隔的格式。我想从文件中加载数据,但使用制表符分隔的数据作为存储过程的参数。这样的事情可能吗?如果不是,那么在这种情况下,您将如何以简单的方式导入数据,其中插入依赖于先前的插入。
我正在尝试在我的数据库中为此类情况创建一些存储过程/事务(我不知道我的情况是否有所不同)。在某些情况下,我使用通用表 -> 特定表类型的模式,其中特定表具有指向通用表的外键。因此,插入细节需要事先插入一般,获取 AUTO_INCREMENTED 主键并将其用于插入“特定”表。
【问题讨论】:
标签: mysql sql stored-procedures