Announcement

Collapse
No announcement yet.

Warum ist die deleted Tabelle nicht verwendbar?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Warum ist die deleted Tabelle nicht verwendbar?

    Hallo!

    Ich möchte, wenn in der einen Tabelle etwas gelöscht wird, alle dazu gehörenden Zeilen einer anderen Tabelle löschen. Aber die Syntax wird nicht akzeptiert.

    CREATE TRIGGER trRepDel ON [dbo].[Reparaturen]
    FOR DELETE
    AS
    delete from dbo.Rep_Listen where Rep_ID = deleted.ID;
    Return

    gibt diese Meldung:
    ---------------------------
    Microsoft SQL-DMO (ODBC SQLState: 42000)
    ---------------------------
    Fehler 107: The column prefix 'deleted' does not match with a table name or alias name used in the query.
    ---------------------------
    OK
    ---------------------------

    Und For Each Row wollte er auch nicht.

    Danke
    Sonja

  • #2
    Welche Version hast Du?
    Ab 2000 brauchst Du nicht mehr über Trigger gehen sondern kannst dieses Cascading-Delete gleich bei der Relationsdefinition machen

    Comment


    • #3
      Ich habe die MSDE 2000.
      Stimmt ja, das gibt es ja auch noch.

      Ich hatte Beziehungen noch nicht wieder eingebaut, weil mir ALLE bei irgendeiner Aktion verloren gegangen sind und ich noch nicht wieder die Meinung hatte, die einzubauen.
      (Die sind über die Anwendung schon zu 99% sichergestellt, weil das bisherige DBMS keine kannte. Und an den 1% bastel ich gerade.)

      DANKE!

      Trotzdem hätte mich interessiert, warum das nicht geht. Nur falls ich das an anderer Stelle nochmal brauche.

      Grüße
      Sonj

      Comment


      • #4
        Hallo Sonja,

        probier es mal mit

        delete from dbo.Rep_Listen where Rep_ID = (SELECT ID FROM deleted);

        In meinem Trigger funktioniert es jedenfalls.

        Das RETURN auch weg lassen; was sollte der Trigger auch wohin liefern.

        Gruß,
        Ola
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment


        • #5
          Danke Olaf, das funktioniert wunderbar.

          Das Return habe ich von meiner Kopiervorlage übernommen. Ich bin leider noch nicht so fit, das kommt aber hoffentlich noch.

          Danke!
          Sonj

          Comment

          Working...
          X