假设您要在表中插入多个值。在每次插入之前和之后必须执行一些依赖操作,因此所有这些过程必须在单个事务中完成。现在假设每个插入的行依赖操作都依赖于先前提交的插入。现在哪种情况更好:
答案 0 :(得分:0)
就个人而言,我会考虑建立表格的single insert query
INSERT INTO tbl_name
(a,b,c)
VALUES
(1,2,3)
,(4,5,6)
,(7,8,9);
如果你不能将一组数据传递给存储过程中的单个插入,那么在代码中构建它。对于不同的语言,在SO上似乎有很多例子(编辑:包含在SQL中)
编辑:回答评论。 不,我明白了。我所暗示的是你首先在代码中构建它(使用任何先前提交的数据和/或要插入的新数据)。在我看来,你应该避免多次调用SQL DB,除非它成为一个必需的优化,因为单个事务将锁定数据(当然,取决于你选择的隔离级别)。该示例只是为了显示最终的sql将归结为什么。那有意义吗?
答案 1 :(得分:0)
他们都不会很出色。 SQL并不是真正设计用于那种处理。触发器是可能的,但最终可能比上述任何解决方案都要麻烦。除非循环非常简单,例如一个整数,我可能会自己使用光标。
可能会有一些方法,但这取决于你想要做的确切处理,可能还有我们自己的偏好