【发布时间】:2013-09-12 17:37:14
【问题描述】:
我有一个更新表中的标志的存储过程和一个删除更新行并将其插入新表中的触发器。因此,可以在存储过程中添加触发器的相同功能。所以我只想知道:
哪个更好用:存储过程还是触发器?在什么情况下?换句话说,你能告诉我每一种的优缺点吗?
请注意,我使用的是 SQL Server 2008,并且正在将 VB.NET 连接到我的数据库。
【问题讨论】:
-
当给定操作发生时执行触发器 -
INSERT、UPDATE或DELETE。你无法控制它何时发生或发生多少次——它只是发生了。另一方面,存储过程必须由您运行 - 您必须执行它,它不会在每次插入一行时自动运行等等。 -
如果我的 sp 删除并插入了一条记录......并且我的触发器删除并插入了一条记录,这个 sp 被调用,那么将触发器的代码和 sp 合并到 1 个 SP 中更好还是更好使用单独的 sp 和触发器?
-
在你的情况下没关系。如果您无法决定,请将所有代码放入
stored procedure并在需要时使用。所以你会知道你在哪里打电话/打电话给你的sp
标签: sql-server vb.net sql-server-2008 stored-procedures triggers