我需要在很多表中创建sql脚本 - 总共接近2000,但表链接(它是一个xml的邻接模型) - 所以在插入table1后,接收id,添加一些数据,插入到table2的fk中 - 先前的id和数据,在重复表3之后,对于表4,... 链表长度 - 超过20。 问题是:存在一些代码生成器,它可以从信息模式中读取表之间的关系,并且 - 在某些表作为root之后 - 生成插入查询的所有树? 感谢。
答案 0 :(得分:1)
如果您无法在应用层执行,我建议您尝试使用Triggers。
基本上,您将在每个表上创建“AFTER INSERT”触发器。像这样的Smth:
CREATE TRIGGER t1
AFTER INSERT ON table1
FOR EACH ROW
BEGIN
INSERT INTO table2 (id, attrib2) VALUES(NEW.id, NEW.attrib2);
END
CREATE TRIGGER t2
AFTER INSERT ON table2
FOR EACH ROW
BEGIN
INSERT INTO table3 (id, attrib3) VALUES(NEW.id, NEW.attrib3);
END
然后,插入到table1中会触发插入到table2中,这会触发插入到table3中,依此类推。