SHOW CREATE TRIGGER
功能描述
SHOW CREATE TRIGGER
返回可用于重新创建命名触发器的确切字符串。
注意事项
该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。
语法格式
SHOW CREATE TRIGGER trigger_name
参数说明
trigger_name
触发器名。
返回结果集
字段 | 说明 |
---|---|
Trigger | 触发器名称。 |
sql_mode | MySQL数据库在这里展示的是创建例程时绑定的sql_mode,Vastbase这里展示的是会话的值,因为Vastbase在创建例程时不会将例程与sql_mode绑定。 |
SQL Original Statement | 触发器创建语句。 |
character_set_client | client_encoding创建例程时系统变量的会话值。 |
collation_connection | 创建触发器时客户端的排序规则。 |
Database Collation | 数据库的排序集。 |
示例
1、创建源表及触发表。
CREATE TABLE test_trigger_src_tbl(id1 INT, id2 INT, id3 INT);
CREATE TABLE test_trigger_des_tbl(id1 INT, id2 INT, id3 INT);
2、创建触发器函数。
CREATE OR REPLACE FUNCTION tri_insert_func() RETURNS TRIGGER AS
$$
DECLARE
BEGIN
INSERT INTO test_trigger_des_tbl VALUES(NEW.id1, NEW.id2, NEW.id3);
RETURN NEW;
END
$$ LANGUAGE PLPGSQL;
3、创建触发器。
CREATE TRIGGER insert_trigger
BEFORE INSERT ON test_trigger_src_tbl
FOR EACH ROW
EXECUTE PROCEDURE tri_insert_func();
4、执行\x
启用列式方式显示结果。
\x
5、查询触发器创建语句。
SHOW CREATE TRIGGER insert_trigger;
返回结果为:
-[ RECORD 1 ]----------+---------------------------------------------------------------------------------------------------------------------
Trigger | insert_trigger
sql_mode | ONLY_FULL_GROUP_BY,ANSI_QUOTES,pipes_as_concat,pad_char_to_full_length
SQL Original Statement | CREATE TRIGGER insert_trigger BEFORE INSERT ON test_trigger_src_tbl FOR EACH ROW EXECUTE PROCEDURE tri_insert_func()
character_set_client | UTF8
collation_connection | en_US.UTF-8
Database Collation | en_US.UTF-8