Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Er akzeptiert den Code und ich kann den Trigger anlegen. Das ist schon mal gut. Aber wenn ich eine Excel Datei in den Ordner kopiere erscheint sie trotzdem in der Datenbank.
Also INSERTED spuckt dir alle Zeilen (können mehrere sein!) aus, die mit dem lettzten INSERT oder UPDATE betroffen waren. Mein Trigger soll in diesem Zeilen nach nicht erlaubten Treffern suchen und wenn er fündig wird die ganze Transaktion rückgängig machen und einen Fehler werfen.
Jetzt ist das bei Textvergleichen immer so eine Sache, ich weiß z.B. nicht ob da auch NULL vorkommen kann. Aber das kannst du einfach mit bestehenden Daten testen bis es passt.
Nein, NULL kann nie vorkommen, die Spalte hat immer einen Wert. Wenn ich eine Excel Tabelle in den Ordner kopieren möchte, bricht er ab und bringt eine Fehlermeldung. Hier nochmal der vollständige Code:
Code:
CREATE TRIGGER file_type_progr
ON NutzerFile
AFTER INSERT
AS
BEGIN
IF ( SELECT count(*) FROM INSERTED WHERE file_type != 'jpg' ) > 0
BEGIN
RAISERROR('asdf',16,1)
ROLLBACK
END
END
Kann man sogar noch kürzen und natürlich auch erweitern mit mehr Dateitypen:
Code:
CREATE TRIGGER file_type_progr
ON NutzerFile
AFTER UPDATE, INSERT
AS
IF ( SELECT count(*) FROM INSERTED WHERE file_type NOT IN ( 'jpg','weitere typen' ) ) > 0
BEGIN
RAISERROR('asdf',16,1)
ROLLBACK
END
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
Diese Seite verwendet Cookies, um Inhalte zu personalisieren und dich nach einem Login angemeldet zu halten, wenn du registriert bist.
Durch die weitere Nutzung unserer Webseite erklärst du dich damit einverstanden.