mysql库表的触发器表名_如何在数据库中查询出所有有触发器的表,求代码和说明?...

展开全部

Oracle  数据库的话62616964757a686964616fe4b893e5b19e31333332633038:SQL> SELECT

2    trigger_name,

3    status

4  FROM

5    user_triggers

6  WHERE

7    table_name='TEST_TRIGGER_TABLE';

TRIGGER_NAME                                                 STATUS

------------------------------------------------------------ ----------------

BEFOREALLTEST                                                ENABLED

BEFOREALLTEST2                                               ENABLED

SQL Server 的话select

tri.name  AS  TriggerName,

tri.is_disabled AS IsDisable,

tri.is_instead_of_trigger AS IsInsteadOfTrigger,

c.text AS CreateTriggerSQL

from

sys.triggers tri LEFT OUTER JOIN

dbo.syscomments c ON tri.object_id = c.id

MySQL结构发生变化时,我们可以使用触发器来监控这些变化并做相应的操作。以下是一个使用触发器监控MySQL结构变化的例子: 1. 创建一个用于记录结构变化的日志。可以使用以下SQL语句创建: ``` CREATE TABLE table_structure_log ( id INT(11) NOT NULL AUTO_INCREMENT, table_name VARCHAR(255) NOT NULL, operation_type VARCHAR(10) NOT NULL, operation_time DATETIME NOT NULL, PRIMARY KEY (id) ); ``` 2. 创建一个触发器,当结构发生变化时会将变化记录到日志。可以使用以下SQL语句创建: ``` CREATE TRIGGER table_structure_trigger AFTER ALTER ON DATABASE FOR EACH STATEMENT BEGIN DECLARE table_name VARCHAR(255); DECLARE operation_type VARCHAR(10); SET table_name = EVENT_OBJECT_TABLE; IF (EVENT_ALTER_TABLE_TYPE = 'MODIFY') THEN SET operation_type = 'MODIFY'; ELSEIF (EVENT_ALTER_TABLE_TYPE = 'ADD') THEN SET operation_type = 'ADD'; ELSEIF (EVENT_ALTER_TABLE_TYPE = 'DROP') THEN SET operation_type = 'DROP'; END IF; INSERT INTO table_structure_log (table_name, operation_type, operation_time) VALUES (table_name, operation_type, NOW()); END; ``` 3. 使用以上SQL语句创建触发器后,当某个MySQL的结构发生变化时,会自动将变化记录到日志。 注意事项: - 以上SQL语句的"DATABASE"应替换为具体的数据库名称。 - 以上SQL语句的"EVENT_OBJECT_TABLE"和"EVENT_ALTER_TABLE_TYPE"是MySQL提供的内置变量,用于获取当前操作的表名和操作类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值