IBM DB2:如何检索在其中创建触发器的表名?

时间:2012-08-07 08:01:03

标签: triggers db2

我正在使用IBM DB2数据库。我在表格中创建了一个触发器。我需要知道,从触发器内部,触发器所在的表中是什么。任何想法?谢谢!

1 个答案:

答案 0 :(得分:0)

据我所知,DB2 LUW中没有存储“当前正在执行的触发器”名称的系统变量,因此我不确定您是否能够动态执行此操作。 但是,如果要将触发器名称硬编码到触发器中

Declare trigger_schema varchar(128) default '<PutTriggerSchemaHere>';
Declare trigger_name varchar(128) default '<PutTriggerNameHere>';

在触发器的主体中;

Declare schema_name varchar(128) default NULL;
Declare table_name varchar(128) default NULL;
SELECT TABSCHEMA, TABNAME INTO schema_name, table_name 
FROM SYSCAT.TRIGGERS 
WHERE TRIGSCHEMA=trigger_schema and TRIGNAME=trigger_name
FETCH FIRST ROW ONLY;

希望这有帮助。