-- 创建一个DDL触发器,当在studentmis数据库中建立表时,会显示提示信息:有一个新表建立完成。创建一个表:chengji(xuehao char(10),chengji float),验证触发器的执行情况。
时间: 2024-12-12 15:28:25 浏览: 5
MSSQL监控数据库的DDL操作(创建,修改,删除存储过程,创建,修改,删除表等)
创建一个DDL触发器是在数据库设计中设置的一种机制,它会在特定的数据定义语言(DDL)操作,如表的创建、修改或删除时自动执行预设的SQL脚本。在MySQL中,你可以使用`CREATE TRIGGER`语句来实现这个需求。针对你的问题,我们可以创建一个名为`after_create_table_trigger`的触发器,当在`studentmis`数据库中创建名为`chengji`的新表时,触发器会执行并显示提示信息。
以下是如何在MySQL中创建这样的触发器的示例:
```sql
DELIMITER //
CREATE TRIGGER after_create_table_trigger
AFTER CREATE TABLE ON studentmis.chengji
FOR EACH ROW
BEGIN
DECLARE msg VARCHAR(255);
SET msg = CONCAT('新表 ', TABLE_NAME(), ' 已经成功建立完成.');
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = msg;
END; //
DELIMITER ;
```
在这个例子中:
1. `CREATE TRIGGER`定义了触发器的名称、事件(在这里是`AFTER CREATE TABLE`),以及触发条件(在`studentmis.chengji`上创建新表)。
2. `FOR EACH ROW`指定每次插入、更新或删除行时都执行触发器。
3. `DECLARE`声明了一个变量`msg`来存储提示信息。
4. `SET`设置了变量值,并在`SIGNAL`语句中使用,使得当触发器被执行时,会返回这条消息而不是继续执行后续的SQL语句。
执行此命令后,当你在`studentmis`数据库中尝试创建新的`chengji`表时,就会看到提示信息。
阅读全文