数据库管理系统中触发器和过程的区别

原文:https://www . geesforgeks . org/DBMS 中触发器和过程的区别/

1。过程: 过程是为执行特定任务而编写的 SQL 语句的组合。它有助于代码的重用,节省时间和代码行。

2。触发器: 触发器是一种特殊的过程,只在表中发生插入、更新、删除等触发事件时执行。

触发器和过程的区别:

扳机 程序
每当表中发生任何事件(如插入、删除、更新)时,都会隐式调用触发器。 用户/应用程序使用诸如 exec、EXECUTE 或简单的 procedure_name 之类的语句或命令显式调用过程
在表中只能实现触发器的嵌套。我们不能在另一个触发器中定义/调用一个触发器。 我们可以在另一个过程中定义/调用过程。
在数据库中,定义触发器的语法:CREATE TRIGGER TRIGGER_NAME 在数据库中,定义过程的语法:创建过程过程名
触发器中不允许提交、回滚、保存点等事务语句。 过程中允许所有事务语句,如 COMMIT、ROLLBACK。
触发器通过记录在表上执行的活动来保持引用的完整性。 过程用于执行用户定义或指定的任务。
我们不能在触发器中返回值。此外,作为输入,我们不能将值作为参数传递。 我们可以返回 0 到 n 个值。但是,我们可以将值作为参数传递。