Ist bei mir das selbe. Hier im Video merkt man, dass richtig ein Konzept dahinter steckt und sich vorher schon Gedanken gemacht wurde, was für Beispiele man verwenden kann und wie man das sinnvoll erklärt. Unsere Dozentin erklärt komplett kreuz und quer, was sie denkt, was zu dem Thema passen könnte, wodurch ich schnell den Überblick verloren habe. Teilweise gibts auch über 1,5 Stunden nur zu einem winzigen Thema SQL-Beispiele, die nur so lange brauchen, weil sie sich die erst in der Vorlesung ausdenkt und dann kommt ein wichtiges, kompliziertes Thema und man verliert den Anschluss...
Es ist etwas komplizierter: bei AFTER EACH ROW oder STATEMENT ist der Rückgabewert egal: er wird ignoriert. Bei BEFORE EACH STATEMENT ebenso. Aber: BEFORE EACH ROW: Rückgabe NULL heißt: nachfolgende Trigger auf dieser Zeile werden nicht ausgeführt und die auslösende Operation (INSERT, UPDATE, DELETE) wird nicht ausgeführt! Rückgabe != NULL heißt: Postgres nimmt diese Rückgabe für die auslösende Operation. Noch mehr Details hier: pg docs/9.2/static/plpgsql-trigger.html
Vielen Dank für die beste Erklärung, ich habe aber eine Frage, wieso sollte es beim zweiten Beispiel AFTER DELETE.... und nicht BEFORE DELETE? Hat man eigentlich Zugriff auf die gelöschte Daten? Also ich habe mir die Sache so vorgestellt, dass zuerst eine Kopie in Archive gemacht wird und danach wird es in R aktualisiert oder von R gelöscht.
Sagt RETURN NEW quasi einfach nur das zugeliefert werden sollen, was man vorher definiert hat zum Beispiel über die Punktnotation mit NOW und OLD? Oder meint RETRUN NEW was anderes, da ich es leider aus dem Video nicht so ganz raushören kann. Liebe Grüße
Nur wer etwas einfach erklären kann, hat es richtig verstanden.
Hab' durch dieses Video mehr gelernt als in 2h Vorlesung in der Uni.
danke!
Ist bei mir das selbe. Hier im Video merkt man, dass richtig ein Konzept dahinter steckt und sich vorher schon Gedanken gemacht wurde, was für Beispiele man verwenden kann und wie man das sinnvoll erklärt. Unsere Dozentin erklärt komplett kreuz und quer, was sie denkt, was zu dem Thema passen könnte, wodurch ich schnell den Überblick verloren habe. Teilweise gibts auch über 1,5 Stunden nur zu einem winzigen Thema SQL-Beispiele, die nur so lange brauchen, weil sie sich die erst in der Vorlesung ausdenkt und dann kommt ein wichtiges, kompliziertes Thema und man verliert den Anschluss...
Tolle Videos mit sehr guten Erklärungen!
Es ist etwas komplizierter: bei AFTER EACH ROW oder STATEMENT ist der Rückgabewert egal: er wird ignoriert. Bei BEFORE EACH STATEMENT ebenso.
Aber: BEFORE EACH ROW: Rückgabe NULL heißt: nachfolgende Trigger auf dieser Zeile werden nicht ausgeführt und die auslösende Operation (INSERT, UPDATE, DELETE) wird nicht ausgeführt!
Rückgabe != NULL heißt: Postgres nimmt diese Rückgabe für die auslösende Operation.
Noch mehr Details hier: pg docs/9.2/static/plpgsql-trigger.html
Sehr gutes Video, vielen Dank für die Erklärung.
Vielen Dank für die beste Erklärung, ich habe aber eine Frage, wieso sollte es beim zweiten Beispiel AFTER DELETE.... und nicht BEFORE DELETE?
Hat man eigentlich Zugriff auf die gelöschte Daten?
Also ich habe mir die Sache so vorgestellt, dass zuerst eine Kopie in Archive gemacht wird und danach wird es in R aktualisiert oder von R gelöscht.
Sehr gutes Video. Vielen Dank!
Sagt RETURN NEW quasi einfach nur das zugeliefert werden sollen, was man vorher definiert hat zum Beispiel über die Punktnotation mit NOW und OLD? Oder meint RETRUN NEW was anderes, da ich es leider aus dem Video nicht so ganz raushören kann. Liebe Grüße
Danke! Das war sehr behelflich!
sehr hilfreich! Vielen Dank!
vielen dank!
vielen Dank!