返回首页

gbase数据、南大通用产品文档:GBase8sDROP TRIGGER 语句

更新日期:2024年09月11日

使用 DROP TRIGGER 语句从数据库中删除触发器定义。
该语句是 SQL ANSI/ISO 标准的扩展。
语法

元素
描述
限制
语法
owner
触发器所有者的名称
必须拥有触发器
所有者名称
trigger
要删除的触发器的名称
触发器必须存在于当
前数据库中
标识符
用法

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 590
您必须是触发器的所有者或者具有 DBA 特权才能删除触发器。删除触发器会从
数据库中删除该触发器定义的文本和可执行的触发器,描述指定触发器的行会从
systriggers 系统目录表中删除。
如果包含可选的 IF EXISTS 关键字,则如果未在当前数据库中注册指定名称的触
发器,则数据库服务器不执行任何操作(而不是向应用程序发送异常)。
在复杂视图(带有来自多个表的列的视图)上删除 INSTEAD OF 触发器撤销了
对于视图的所有特权(这些特权是在创建触发器时触发器所有者自动接收的),
还撤销了触发器所有者授予其它用户的所有特权。(删除单个视图上的触发器不
会取消任何特权。)
以下示例删除了 items_pct 触发器:
DROP TRIGGER items_pct;
如果 DROP TRIGGER 语句出现在由数据操纵语句(DML)调用的 SPL 例程
内,则数据库服务器返回一个错误。
当对同一触发事件在同一表或视图上定义多个触发器时,不保证触发器的执行顺
序。如果您有一个首先的执行顺序,但是触发器是以其它顺序执行的,则您可能
希望删除除了首先运行的触发器之外的所有触发器,然后按照相对顺序(您希望
的顺序)重新创建其它触发器, 以便它们按照与其的执行顺序列在系统目录中。

ifx_var_freevar() 函数释放已为 var binary 和 lvarchar pointer 主变量分配了的内存。

语法
int fix_var_freevar(var_bin)
var binary *var_bin;
var_bin
var binary 或 lvarchar pointer 主变量的地址。
用法
每当您有 var binary 或 lvarchar pointer 主变量时,如下列示例所示,您必须通过
使用 ifx_var_freevar() 函数来显式地释放为它分配的内存。
EXEC SQL var binary ‘polygon’ poly;
EXEC SQL lvarchar *c;

下列示例说明 ifx_var_freevar() 的使用。您必须通过使用 ifx_var_freevar() 函数来显
式地释放已为 var binary 和 lvarchar pointer 主变量分配了的内存。
ifx_var_freevar(&poly);
ifx_var_freevar(&c);

如果您未使用 ifx_var_dealloc() 来释放已为 var binary 主变量的数据缓冲区分配了
的内存,则 ifx_var_freevar() 会这么做。然后,它释放 var binary 和 lvarchar pointer 主
变量的内存。在前面的示例中,在调用了 ifx_var_freevar() 之后,会将 poly 和 c 设置为
空。

返回代码
0
函数成功。
<0
函数不成功,且返回值指示错误的原因。

903M
1% /run
tmpfs
tmpfs
912M
0
912M
0%
/sys/fs/cgroup
/dev/sda1
xfs
1014M
173M
842M
18% /boot
tmpfs
tmpfs
183M