【问题标题】:How to create a trigger in SQL?如何在 SQL 中创建触发器?
【发布时间】:2016-05-09 23:30:50
【问题描述】:

我有 2 张桌子,booking 和 guest:

booking: hotel_no(PK),guest_no(PK),date_from(PK),date_to,room_no  
guest: guest_no(PK),g_name,g_address

我想创建一个触发器,在将记录插入Booking 表时,使用Guest 表强制引用完整性。

如何创建该触发器?

【问题讨论】:

  • 你使用什么数据库?甲骨文、MySql、sqlite?什么?
  • 我正在使用mysql。抱歉忘记信息
  • 介意针对您的问题编写您的创建表方案吗?用两个相关的表就可以了。
  • 我现在不能这样做,因为我正在使用我的手机并且我把我的东西留在了我的笔记本电脑里

标签: mysql database triggers


【解决方案1】:

我不会创建一个特定于您正在使用的数据库的触发器,而是创建一个专门为此而设计的foreign key。

ALTER TABLE booking
ADDCONSTRAINT fk_guest
FOREIGN KEY (guest_no)
REFERENCES guest(guest_no)

编辑

由于您只需要使用触发器,并且您可以在网上轻松找到很多示例和教程,因此除了他的评论中提供的 link mhyst 之外,我只会建议您 http://blog.christosoft.de/2012/08/mysql-check-constraint/。

【讨论】:

  • 感谢您的帮助,但我的老师要求我在这种情况下创建触发器
【解决方案2】:

试试这个

CREATE TRIGGER `booking_trigger_name` AFTER INSERT ON `booking` FOR EACH ROW BEGIN
    // Your query
     insert into Guest(..........)
END

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-22
    • 2015-06-27
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多