更新日期:2024年09月11日
触发操作是当触发事件发生时执行的 SQL 语句。触发操作可以由 INSERT 、DELETE 、
UPDATE 、EXECUTE FUNCTION 和 EXECUTE PROCEDURE 语句组成。但是,除了指
定要执行什么操作外,还必须就触发语句何时执行这些操作。您有以下选择:
•
在触发语句执行之前
GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 333 -
•
在触发语句执行之后
•
针对触发语句作用的每一行
表上的单个触发器可以为上述每一时间定义操作。
要定义触发操作,指定该操作何时发生,然后提供要执行的 SQL 语句,可使用关键字
BEFORE 、AFTER 或 FOR EACH ROW 指定该操作何时发生。然后是括在圆括号中的触
发操作。下面的触发操作定义指定在触发语句之前执行 SPL 例程 upd_items_p1 :
BEFORE(EXECUTE PROCEDURE upd_items_p1) -- a BEFORE action
gbase_stmt_attr_set
摘要:
设置预处理语句的属性。
语法:
gs_bool gbase_stmt_attr_set(GBASE_STMT *stmt, enum
enum_stmt_attr_type attr_type, const void *attr)
参数:
“attr_type”参量是希望设置的选项,
“attr”参量是选项的值。
选 项
参量类型
功 能
STMT_ATTR_UPDATE_M
AX_LENGTH
gs_bool *
如果设为1:更新
gbase_stmt_store_result()中的元数
据GBASE_FIELD->max_length。
STMT_ATTR_CURSOR_T
YPE
unsigned
long *
调用gbase_stmt_execute()时,
语句将
打开的光标类型。*arg 可以是
CURSOR_TYPE_NO_CURSOR(默认值)或
CURSOR_TYPE_READ_ONLY。
STMT_ATTR_PREFETCH
_ROWS
unsigned
long *
使用光标时,一次从服务器获取的行
数。*arg 的范围从1 到unsigned long
的最大值。默认值为1。
返回值:
如果OK,返回0。如果选项未知,返回非0 值。