============ DROP TRIGGER ============ .. container:: refentry :name: SQL-DROPTRIGGER .. container:: titlepage .. container:: refnamediv .. rubric:: DROP TRIGGER :name: drop-trigger DROP TRIGGER — 移除一个触发器 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis DROP TRIGGER [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ] .. container:: refsect1 :name: id-1.9.3.141.5 .. rubric:: 描述 :name: 描述 ``DROP TRIGGER``\ 移除一个现有的触发器定义。 要执行这个命令,当前用户必须是触发器基表的拥有者。 .. container:: refsect1 :name: id-1.9.3.141.6 .. rubric:: 参数 :name: 参数 .. container:: variablelist ``IF EXISTS`` 如果该触发器不存在则不要抛出一个错误,而是发出一个提示。 *``name``* 要移除的触发器的名称。 *``table_name``* 定义了该触发器的表的名称(可以是模式限定的)。 ``CASCADE`` 自动删除依赖于该触发器的对象,然后删除所有 依赖于那些对象的对象(见\ `第 5.14 节 `__\ )。 ``RESTRICT`` 如果有任何对象依赖于该触发器,则拒绝删除它。这是默认值。 .. container:: refsect1 :name: SQL-DROPTRIGGER-EXAMPLES .. rubric:: 示例 :name: 示例 销毁表\ ``films``\ 上的触发器 ``if_dist_exists``\ : .. code:: programlisting DROP TRIGGER if_dist_exists ON films; .. container:: refsect1 :name: SQL-DROPTRIGGER-COMPATIBILITY .. rubric:: 兼容性 :name: 兼容性 PostgreSQL中的 ``DROP TRIGGER``\ 语句与 SQL 标准不 兼容。在 SQL 标准中,不同表上也不能有同名的触发器,因此其 命令是简单的\ ``DROP TRIGGER name``. .. container:: refsect1 :name: id-1.9.3.141.9 .. rubric:: 另见 :name: 另见 `CREATE TRIGGER `__