Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Von Sybase zu MS SQL: Foreign Keys

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von Gordon, 11 Dezember 2012.

  1. Gordon

    Gordon Neuer Benutzer

    Moin moin,

    ich versuche gerade eine Sybase-Datenbank nach MS SQL zu portieren. Leider bekomme ich bei manchen Foreign Keys Probleme, wo ich mir leider derzeit nicht weiterhelfen kann. Und zwar habe ich z.B. folgenden Foreign Key in Sybase:


    Code:
    alter table Tabelle1
      add foreign key "FK_Name" (Spalte1)
          references Tabelle1 (Spalte2)
          on update cascade
          on delete cascade;
    Dieser obenstehe Foreign Key geht soweit. Wenn ich nun aber diesen in folgendes MS SQL-Statement umwandle ...

    Code:
    alter tableTabelle1
      add constraint "FK_Name" foreign Key (Spalte1)
          references Tabelle1 (Spalte2)
          on update cascade
          on delete cascade;
    ... bekomme ich folgende Fehlermeldung:

    Kann mir vielleicht jemand das Problem erklären und auch vielleicht die Lösung dazu? Bin leider derzeit ziemlich ratlos.


    Gruß und besten Dank im Voraus
    Gordon
     
  2. ukulele

    ukulele Datenbank-Guru

    Nun, es ist vermutlich nicht der erste Foreign Key Constraint in der Datenbank und der Server erkennt (vermute ich jetzt mal) eine problematische Kettenreaktion. Dazu müsste man sich jetzt aber alle Tabellen und Constraints angucken um zu bestimmen, wo das auftritt. Problematisch wäre z.B. wenn ein Datensatz x in Tabelle1 gelöscht wird der auf Datensatz y in Tabelle2 verweisst. Dann wird dieser ebenfalls gelöscht aber möglicherweise verweist er wieder auf Datensatz x, eine Art Zirkelbezug wie in Excel. Bist du dir sicher das Cascade notwendig ist und wie oft kommt Cascade in deinen Constraints vor?
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden