Ich habe eine Datenbank mit 2 Tabellen, die wie folgt aussehen:SQL ALTER TABLE auf TRIGGER
TABLE_1 TABLE_2
ID NAME ID object1 object2
1 object1 1 TRUE FALSE
2 object1 2 TRUE TRUE
2 object2
Ich möchte, dass für jedes neue Objekt auf table_1, eine Spalte auf table_2 hinzufügen. Und für jede neue ID in TABLE_1 fügt sie ein neues Vorkommen auf TABLE_2 hinzu (aber ich weiß, wie man "nur" dieses tut).
Für exemple mit INSERT INTO TABLE_1 values(1,"object3");
Ich möchte
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
und mit 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
notwendig Es ist nicht die zusätzliche Spalte zu füllen (ich kann es manuell).
ich versucht, dieses
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;
zu tun, aber es hat nicht funktioniert ... Können Sie mir helfen? (Und tut mir leid, wenn mein Englisch ist nicht perfekt)
Ich denke, Sie sollten Ihr Design Ihrer Datenbank erneuern. Alter Tisch auf einer Beilage ist für mich nicht legitim. – vaso123
Die Syntax sieht wie MySQL aus, also habe ich das mysql-Tag entfernt. –
Wenn Sie eine andere Möglichkeit kennen, TABLE_2 zu haben, wie ich es gezeigt habe, könnte ich in der Lage sein, das Design zu erneuern ... Momentan sehe ich keinen anderen Weg – Driikolu