У меня есть база данных с 2 таблицы, которые выглядят как:SQL ALTER TABLE на TRIGGER
TABLE_1 TABLE_2
ID NAME ID object1 object2
1 object1 1 TRUE FALSE
2 object1 2 TRUE TRUE
2 object2
Я хочу, чтобы для каждого нового объекта на TABLE_1, это добавить колонку на TABLE_2. И для каждого нового идентификатора на TABLE_1 он добавляет новое Происхождение на TABLE_2 (но я знаю, как сделать «только» этот).
Для Exemple с INSERT INTO TABLE_1 values(1,"object3");
Я хочу
TABLE_1 TABLE_2
ID NAME ID object1 object2 object3
1 object1 1 TRUE FALSE TRUE
2 object1 2 TRUE TRUE FALSE
2 object2
1 object3
и с INSERT INTO TABLE_1 values(3,"object2);
TABLE_1 TABLE_2
ID NAME ID object1 object2 object3
1 object1 1 TRUE FALSE TRUE
2 object1 2 TRUE TRUE FALSE
2 object2 3 FALSE TRUE FALSE
1 object3
3 object2
Это не нужно заполнить добавленный столбец (я могу сделать это вручную).
Я пытался сделать это
CREATE TRIGGER triggTest
BEFORE INSERT
ON TABLE_1
WHEN (NEW.NAME not in (SELECT NAME FROM TABLE_1))
BEGIN
ALTER TABLE TABLE_2
ADD NEW.NAME BOOLEAN
END;
Но это не сработало ... Вы можете мне помочь? (И извините, если мой английский не идеален)
Я думаю, вы должны обновить свой дизайн своей базы данных. Изменить таблицу на вставке мне не кажется законным. – vaso123
Синтаксис выглядит как MySQL, поэтому я удалил тег mysql. –
Если вы знаете другой способ иметь TABLE_2, как я показал его, так что я мог бы продлить дизайн ... В настоящее время я не вижу другого способа сделать это – Driikolu