SQL COMMAND · 触发器与规则
ALTER TRIGGER
更改触发器的定义
ALTER触发器与规则引入 10(基线)现存至 20 devel1 次语法变更
- 动词
ALTER- 对象
TRIGGER- 分组
- 触发器与规则
- 引入版本
- 10(基线)
- 状态
- 现存
- 语法变更次数
- 1
- 手册小节数
- 6
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
ALTER TRIGGER · 语法 2
语法概要
ALTER TRIGGERnameONtable_nameRENAME TOnew_nameALTER TRIGGERnameONtable_name[ NO ] DEPENDS ON EXTENSIONextension_name
描述
ALTER TRIGGER更改现有触发器的属性。
RENAME子句更改给定触发器的名称,而不改变该触发器定义的其他部分。 如果该触发器所在的表是分区表,则各分区中的对应克隆触发器也会一并重命名。
DEPENDS ON EXTENSION子句将触发器标记为依赖于某个扩展, 这样在删除该扩展时,该触发器也会自动删除。
若要更改触发器的属性,你必须拥有该触发器所作用的表。
参数
name要修改的现有触发器的名称。
table_name该触发器所作用的表的名称。
new_name该触发器的新名称。
extension_name该触发器要依赖的扩展名称(如果指定了
NO,则表示不再依赖该扩展)。 被标记为依赖于扩展的触发器会在该扩展被删除时自动删除。
注解
暂时启用或禁用触发器的功能由ALTER TABLE提供,而不是 ALTER TRIGGER,因为ALTER TRIGGER没有方便的方式 来表达一次性启用或禁用一个表上全部触发器这一选项。
示例
要重命名一个现有触发器:
ALTER TRIGGER emp_stamp ON emp RENAME TO emp_track_chgs;
要将一个触发器标记为依赖于某个扩展:
ALTER TRIGGER emp_stamp ON emp DEPENDS ON EXTENSION emplib;
兼容性
ALTER TRIGGER是 PostgreSQL 对 SQL 标准的扩展。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 14← 13正文更新
正文更新PostgreSQL 13← 12语法变化
+ ALTER TRIGGER name ON table_name [ NO ] DEPENDS ON EXTENSION extension_name− ALTER TRIGGER name ON table_name DEPENDS ON EXTENSION extension_name正文更新PostgreSQL 11← 10正文更新
正文更新
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
CREATE EVENT TRIGGER | CREATE | EVENT TRIGGER | 111 次 | |
| 定义一个新的事件触发器 | 现存 | |||
ALTER EVENT TRIGGER | ALTER | EVENT TRIGGER | 141 次 | |
| 更改事件触发器的定义 | 现存 | |||
DROP EVENT TRIGGER | DROP | EVENT TRIGGER | — | |
| 移除一个事件触发器 | 现存 | |||
CREATE RULE | CREATE | RULE | — | |
| 定义一条新的重写规则 | 现存 | |||
ALTER RULE | ALTER | RULE | — | |
| 修改一条重写规则的定义 | 现存 | |||
DROP RULE | DROP | RULE | — | |
| 移除一条重写规则 | 现存 | |||
CREATE TRIGGER | CREATE | TRIGGER | 193 次 | |
| 定义一个新触发器 | 现存 | |||
ALTER TRIGGER | ALTER | TRIGGER | 131 次 | |
| 更改触发器的定义 | 现存 | |||
DROP TRIGGER | DROP | TRIGGER | — | |
| 移除一个触发器 | 现存 | |||