我正在使用 IBM DB2 数据库。我在表中创建了一个触发器。我需要从触发器中知道触发器位于哪个表中。有什么想法吗?谢谢!
问问题
887 次
1 回答
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;
希望这可以帮助。
于 2012-08-13T22:54:28.630 回答