Создание вложенных триггеров в MySQL - PullRequest
0 голосов
/ 16 июня 2020

В настоящее время я работаю с MySQL базами данных и пытаюсь создать вложенный триггер. Но у меня проблемы и ошибки. Я много чего пробовал, но не могу понять. Любая помощь будет принята с благодарностью. Ниже вы найдете мой сценарий для таблиц и триггера.

    CREATE TABLE co_op_members (
    MemberID int not null AUTO_INCREMENT,
    Description varchar(255),
    BusinessName varchar(255),
    Date date,
    ContactName varchar(255),
    Email varchar(255),
    Phone int,
    Address varchar(255),
    PRIMARY KEY (MemberID)

);


CREATE TABLE Customers (
    CustomerId int not null AUTO_INCREMENT,
    Name varchar(255),
    Email varchar(255),
    Location varchar(255),
    StartDate date,
    DeliveryAddress varchar(255),
    PRIMARY KEY (CustomerId)

);

CREATE TABLE Message (
   MessageId int not null AUTO_INCREMENT,
   CustomerId int ,
   AepcMemberId int,
   Message varchar(255),
   Date date,
   PRIMARY KEY (MessageId),
   FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId),
   FOREIGN KEY (AepcMemberId) REFERENCES co_op_members(MemberID)

);

CREATE TABLE Equipment (
   ItemId int not null AUTO_INCREMENT,
   StyleName varchar(255),
   ItemName varchar(255),
   PackSize int,
   Description varchar(255),
   MemberId int,
   Price int,
   PriceDate date,
   UniteShippingDate date,
   UnitShippingCost int,
   PRIMARY KEY (ItemId),
   FOREIGN KEY (MemberId) REFERENCES co_op_members(MemberId)

);

CREATE TABLE Equipmentorder (

   OrderId int not null AUTO_INCREMENT,
   CustomerId int,
   AepcMemberId int,
   ShippingDate date,
   OrderStatus varchar(255),
   OrderDate date,
   CourierName varchar(255),
    ItemId int,
   ShippingCost float,

   ShippingReferenceNo int,
   PRIMARY KEY (OrderId),
   FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId),
   FOREIGN KEY (ItemId) REFERENCES Equipment(ItemId)


);

А вот сценарий триггера:

 CREATE TRIGGER after_customer_order_plced
AFTER INSERT
ON message FOR EACH ROW
BEGIN
  CREATE TRIGGER after_members_insert
AFTER INSERT
ON members FOR EACH ROW
BEGIN
    IF NEW.customers IS NULL THEN
        INSERT INTO message(memberId, message)
        VALUES(new.id,CONCAT('Hi ', NEW.name, ', hello new message.'));

END

Заранее благодарим за помощь

...