嘿,我习惯了 ORM,所以我非常缺乏 sql 经验。我想知道将行插入表的最佳方法是什么,即与另一个表具有多对多关系,并且在一个语句中还将一行两个外键插入到特定的链接表中以保留数据的完整性。
如果有人使用spring jdbcTemplate,我也想知道它是否支持这个任务。提前致谢
嘿,我习惯了 ORM,所以我非常缺乏 sql 经验。我想知道将行插入表的最佳方法是什么,即与另一个表具有多对多关系,并且在一个语句中还将一行两个外键插入到特定的链接表中以保留数据的完整性。
如果有人使用spring jdbcTemplate,我也想知道它是否支持这个任务。提前致谢
这通常是存储过程的用途,例如
CREATE PROC MyInsertM2M(@fieldname1 int, @fieldname2 varchar(20), @Key1 int, @Key2 int etc)
AS
BEGIN
INSERT INTO MyMainTable(fieldname1, fieldname2...)
VALUES(@fieldname1, @fieldname2...)
INSERT INTO MyResolverTable(KeyField1, Keyfield2)
VALUES (@Key1, Key2)
END
(假设 sql 服务器)
然后谷歌 BEGIN TRAN、COMMIT TRAN 和 ROLLBACK。