You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Teradata创建防止DROP TABLE的触发器never_drop的正确语法

Teradata 阻止指定表被删除的触发器实现语法

你可以通过创建前置DDL触发器实现DROP操作拦截,满足所有要求的正确语法如下:

CREATE TRIGGER comp.never_drop
BEFORE DROP TABLE ON comp.maagar
FOR EACH STATEMENT
BEGIN ATOMIC
    -- 写入操作日志,可根据实际日志表结构调整字段
    INSERT INTO comp.ddl_operate_log(create_time, message)
    VALUES (CURRENT_TIMESTAMP, '尝试删除受保护表comp.maagar,操作已被拦截回滚');
    -- 执行回滚终止删除操作
    ROLLBACK;
END;

关键说明

  • 上述代码中comp.ddl_operate_log是提前创建的DDL操作日志表,如果你需要对接系统自带日志,替换为对应日志写入逻辑即可
  • 触发器创建完成后,所有针对comp.maagar的DROP TABLE操作都会被拦截,事务自动回滚,同时留下操作记录
  • 创建该触发器需要提前获取comp schema的CREATE TRIGGER权限,以及DDL事件触发器对应的系统权限
  • 若后续需要正常删除该表,需要先执行DROP TRIGGER comp.never_drop移除触发器

内容的提问来源于stack exchange,提问作者Eyal Marom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 17:21:33