文章目录

  • 第三十九章 SQL命令 DROP TRIGGER
  • 大纲
    • 参数
  • 描述
    • FROM 子句
  • 示例

第三十九章 SQL命令 DROP TRIGGER

删除触发器

大纲

DROP TRIGGER name [ FROM table ]

参数

  • name - 要删除的触发器的名称。触发器名称可以是限定的,也可以是非限定的;如果限定,则其架构名称必须与表的架构名称匹配。
  • FROM table - 可选-要从中删除触发器的表。如果指定了FROM子句,则只在表中搜索命名触发器。如果未指定FROM子句,则在NAME中指定的整个架构中搜索命名触发器。

描述

DROP TRIGGER命令删除触发器。如果要修改现有触发器,则必须先调用DROP TRIGGER删除旧版本的触发器,然后再调用CREATE TRIGGER

注:DROP TABLE删除与该表关联的所有触发器。

DROP TRIGGER命令是特权操作。用户必须具有%DROP_TRIGGER管理权限才能执行DROP TRIGGER。否则将导致SQLCODE-99错误,因为%msg用户‘name’没有%DROP_TRIGGER权限。

用户必须对指定表拥有%ALTER特权。如果用户是表的所有者(创建者),则会自动授予该用户对该表的%ALTER权限。否则,必须授予用户对该表的%ALTER特权。否则将导致SQLCODE-99错误,因为%msg用户‘name’没有更改‘Schema.TableName’的表定义所需的%ALTER特权。

如果拥有适当的授予权限,则可以使用GRANT命令分配%DROP_TRIGGER%ALTER权限。

在嵌入式SQL中,您可以使用$SYSTEM.Security.Login()方法以具有适当权限的用户身份登录:

   DO $SYSTEM.Security.Login("_SYSTEM","SYS")&sql(      )

必须具有%Service_Login:Use权限才能调用$SYSTEM.Security.Login方法。

  • DROP TRIGGER不能用于从持久类投影的表,除非表类定义包括[DdlAllowed]。否则,操作将失败,并出现SQLCODE-300错误,同时未为类‘Schema.tablename’启用%msg DDL
  • DROP TRIGGER不能用于从部署的持久类投射的表。此操作失败,并出现SQLCODE-400错误,并显示%msg Unable to Execute DDL以修改已部署的类:‘classname’

DROP TRIGGER语句获取表的表级锁。这可以防止其他进程修改表的数据。此锁在放下触发器操作结束时自动释放。

FROM 子句

触发器及其表必须驻留在同一架构中。如果触发器名称未限定,则触发器架构名称默认为与表架构相同的架构,如FROM子句中所指定。如果触发器名称是非限定的,并且没有FROM子句,或者表名也是非限定的,则触发器模式缺省为缺省模式名称;不使用模式搜索路径。如果两个名称都是限定的,则触发器架构名称必须与表架构名称相同。模式名称不匹配会导致SQLCODE-366错误;只有当触发器名称和表名都是限定的,并且它们指定了不同的模式名称时才会出现这种情况。

在SQL中,对于特定表,触发器名称在其架构内必须是唯一的。因此,在一个模式中可以有多个同名触发器。可选的FROM子句用于确定要删除的触发器:

  • 如果未指定FROM子句,并且 IRIS在架构中找到与指定名称匹配的唯一触发器,则 IRIS将删除该触发器。
  • 如果指定了FROM子句,并且 IRIS在架构中找到了与指定名称和FROM表名都匹配的唯一触发器,则 IRIS将删除该触发器。
  • 如果未指定FROM子句,并且 IRIS找到多个与指定名称匹配的触发器,则 IRIS将发出SQLCODE-365错误。
  • 如果 IRIS找不到与指定名称匹配的触发器(对于FROM子句中指定的表),或者如果没有FROM子句,则对于架构中的任何表, IRIS都会发出SQLCODE-363错误。

示例

以下示例删除与系统范围默认架构中的任何表关联的名为TRIGGER_1的触发器。(初始默认架构为SQLUser):

DROP TRIGGER Trigger_1

以下示例删除与A架构中的任意表关联的名为TRIGGER_2的触发器。

DROP TRIGGER A.Trigger_2

以下示例删除与系统范围默认架构中的Patient表关联的名为TRIGGER_3的触发器。如果找到名为TRIGGER_3的触发器,但它与患者没有关联,则IRIS会发出SQLCODE-363错误。

DROP TRIGGER Trigger_3 FROM Patient

以下示例都删除了与Test模式中的Patient表关联的名为TRIGGER_4的触发器。

DROP TRIGGER Test.Trigger_4 FROM Patient
DROP TRIGGER Trigger_4 FROM Test.Patient
DROP TRIGGER Test.Trigger_4 FROM Test.Patient

第三十九章 SQL命令 DROP TRIGGER相关推荐

  1. 第二十九章 SQL命令 DISTINCT

    文章目录 第二十九章 SQL命令 DISTINCT 大纲 参数 描述 DISTINCT和ORDER BY DISTINCT和GROUP BY 字母大小写与DISTINCT优化 DISTINCT的其他用 ...

  2. 第二十二章 SQL命令 CREATE TRIGGER(二)

    文章目录 第二十二章 SQL命令 CREATE TRIGGER(二) SQL触发器代码 ObjectScript触发代码 字段引用和伪字段引用 引用流属性 引用SQLComputed属性 标签 方法调 ...

  3. 第十六章 SQL命令 CREATE TABLE(三)

    文章目录 第十六章 SQL命令 CREATE TABLE(三) 字段数据约束 NULL和NOT NULL UNIQUE DEFAULT DEFAULT Keywords ON UPDATE Colla ...

  4. 【正点原子FPGA连载】第三十九章OV7725摄像头RGB-LCD显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

  5. 第十四章 SQL命令 CREATE TABLE(一)

    文章目录 第十四章 SQL命令 CREATE TABLE(一) 大纲 参数 描述 语法概述 SQL安全和权限 表名 表存在 第十四章 SQL命令 CREATE TABLE(一) 创建表 大纲 CREA ...

  6. 第六十九章 SQL函数 JSON_OBJECT

    文章目录 第六十九章 SQL函数 JSON_OBJECT 大纲 参数 描述 选择模式和排序 ABSENT ON NULL 示例 第六十九章 SQL函数 JSON_OBJECT 将数据作为JSON对象返 ...

  7. 第三十五章 SQL函数 CURRENT_DATE

    文章目录 第三十五章 SQL函数 CURRENT_DATE 大纲 描述 示例 第三十五章 SQL函数 CURRENT_DATE 日期/时间函数,返回当前本地日期. 大纲 CURRENT_DATE 描述 ...

  8. 第三十六章 SQL函数 CURRENT_TIME

    文章目录 第三十六章 SQL函数 CURRENT_TIME 大纲 参数 描述 小数秒精度 示例 第三十六章 SQL函数 CURRENT_TIME 返回当前本地时间的日期/时间函数. 大纲 CURREN ...

  9. 小满Vue3第三十九章(Vue开发桌面程序Electron)

    建议视频教程小满Vue3(第三十九章 electron桌面程序)_哔哩哔哩_bilibili Electron官网Electron | Build cross-platform desktop app ...

最新文章

  1. Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)
  2. Http协议:状态码
  3. r.java是什么_R.java文件介绍
  4. html兼容webki,评IE10对HTML5的完美支持
  5. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(一)让物体动起来①
  6. Day26:configparser、subprocess模块
  7. Java基础:JDBC
  8. 智能优化算法:阿基米德优化算法 -附代码
  9. React Native之七牛
  10. 数字信号处理实验三用fft对信号作频谱分析_矢量信号分析
  11. Office产品 “您的组织策略阻止我们为您完成此操作” 解决办法
  12. Android Studio Offline work mode
  13. chm 已取消到该网页的导航,打不开!
  14. adobe绿色版cs6下载地址
  15. 浪潮4U服务器 raid5 直通(JBOD)
  16. 详解圆形头像Shader
  17. python 数组去重复
  18. 电脑解锁后黑屏有鼠标_电脑开机后黑屏只有鼠标怎么办
  19. 重庆OA办公系统目前推出PC端、移动终端(安卓、IOS、平板)- 上弦科技
  20. 2019-10 前端技术汇总

热门文章

  1. English Learning - Day5 L1考前复习 2023.2.10 周五
  2. populate() isn‘t reentrant 不可重入
  3. java增强班_【图片】龙之谷模拟强化Java版_龙之谷吧_百度贴吧
  4. 【Linux】Bonding配置,管理
  5. 高频曝光背后:恒大造车的工匠精神与“发动机效应”
  6. Docker学习:外部浏览器访问容器 | 容器访问容器 | 访问容器的常用5种方式 | -p -P 详解
  7. Java该如何自学才能快速上手?
  8. 高级编程技术作业(七、八)
  9. js设计模式-装饰器模式
  10. netty大端小端处理