Fehlermeldung SQL Server



  • möchte beziehungen zwischen tabellen herstellen.
    kriege wenn ich die anweisungen ausführe mal schon mal nicht die fehlermeldung angezeigt dass ein constraint nicht vorhanden ist, obwohl ich es definiert habe und die fehlermeldung auf eine zeile verweist die nach einer if-bediengung steht.
    wenn ich alle anweisungen nach und nach in kommentare setze und die anweisungen nach jedem mal ausführen entkommentiere funktioniert das programm aber sobald ich eine neue anweisung hinzufüge funktioniert es wieder nicht und bekomme wieder die fehlermeldung angezeigt

    meine anweisungen:

    --constraint/einschränkungen löschen
    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[ProduktZutat]') AND type in (N'U'))
    ALTER TABLE ProduktZutat DROP CONSTRAINT [ProduktZutat_Produkt]

    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[ProduktZutat]') AND type in (N'U'))
    ALTER TABLE ProduktZutat DROP CONSTRAINT [ProduktZutat_Zutat]

    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[Preis]') AND type in (N'U'))
    ALTER TABLE Preis DROP CONSTRAINT [Preis_Produkt]

    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[Produkt]') AND type in (N'U'))
    ALTER TABLE Produkt DROP CONSTRAINT [Produkt_Zahlung]

    --Tabellen löschen
    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[ProduktZutat]') AND type in (N'U'))
    DROP TABLE [ProduktZutat]
    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[Produkt]') AND type in (N'U'))
    DROP TABLE [Produkt]
    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[Zutat]') AND type in (N'U'))
    DROP TABLE [Zutat]
    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[Preis]') AND type in (N'U'))
    DROP TABLE [Preis]
    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[Zahlung]') AND type in (N'U'))
    DROP TABLE [Zahlung]

    --tabellen u beziehungen erstellen

    CREATE TABLE [Zahlung]
    (
    ZahlungID INT PRIMARY KEY,

    )

    CREATE TABLE [Produkt]
    (
    ProduktID INT PRIMARY KEY ,
    ZahlungID int Constraint Produkt_Zahlung Foreign key references Zahlung (ZahlungID) ,

    )

    CREATE TABLE [Zutat]
    (
    ZutatID INT PRIMARY KEY
    )

    CREATE TABLE [ProduktZutat] (
    ID INT PRIMARY KEY,
    ProduktID INT CONSTRAINT ProduktZutat_Produkt Foreign Key REFERENCES Produkt (ProduktID),
    ZutatID INT CONSTRAINT ProduktZutat_Zutat Foreign Key REFERENCES Zutat(ZutatID)
    )

    CREATE TABLE [Preis]
    (
    PreisID INT PRIMARY KEY,
    ProduktID Int CONSTRAINT Preis_Produkt Foreign Key REFERENCES Produkt(ProduktID)
    )



  • Ich verstehe nicht genau, was deine Frage ist. Am besten kopierst du die Fehlermeldung so rein, wie du sie bekommst. Und zauberhaft wäre natürlich, wenn du die Stelle markieren würdest, in der sie auftritt.

    Und zu guter Letzt, nimm doch bitte die

    -Tags.


Log in to reply