============= ALTER TRIGGER ============= .. container:: refentry :name: SQL-ALTERTRIGGER .. container:: titlepage .. container:: refnamediv .. rubric:: ALTER TRIGGER :name: alter-trigger ALTER TRIGGER — 更改一个触发器的定义 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis ALTER TRIGGER name ON table_name RENAME TO new_name ALTER TRIGGER name ON table_name DEPENDS ON EXTENSION extension_name .. container:: refsect1 :name: id-1.9.3.41.5 .. rubric:: 描述 :name: 描述 ``ALTER TRIGGER``\ 更改一个现有触发器的属性。 ``RENAME``\ 子句更改给定触发器的名称而不更改其定义。 ``DEPENDS ON EXTENSION``\ 子句把该触发器标记为依赖于 一个扩展,这样如果扩展被删除,该触发器也会被自动删除。 要更改一个触发器的属性,你必须拥有该触发器所作用的表。 .. container:: refsect1 :name: id-1.9.3.41.6 .. rubric:: 参数 :name: 参数 .. container:: variablelist *``name``* 要修改的一个现有触发器的名称。 *``table_name``* 这个触发器所作用的表的名称。 *``new_name``* 该触发器的新名称。 *``extension_name``* 该触发器所依赖的扩展的名称。 .. container:: refsect1 :name: id-1.9.3.41.7 .. rubric:: 注解 :name: 注解 临时启用或者禁用一个触发器的功能由\ `ALTER TABLE `__\ 而不是 ``ALTER TRIGGER``\ 提供,因为\ ``ALTER TRIGGER`` 无法表示一次性启用或者禁用一个表上所有触发器的选项。 .. container:: refsect1 :name: id-1.9.3.41.8 .. rubric:: 示例 :name: 示例 要重命名一个现有的触发器: .. code:: programlisting ALTER TRIGGER emp_stamp ON emp RENAME TO emp_track_chgs; 要把一个触发器标记为依赖于一个扩展: .. code:: programlisting ALTER TRIGGER emp_stamp ON emp DEPENDS ON EXTENSION emplib; .. container:: refsect1 :name: id-1.9.3.41.9 .. rubric:: 兼容性 :name: 兼容性 ``ALTER TRIGGER``\ 是一种 PostgreSQL的 SQL 标准扩展。 .. container:: refsect1 :name: id-1.9.3.41.10 .. rubric:: 另见 :name: 另见 `ALTER TABLE `__