Zum Inhalt springen

nadine1985

Mitglieder
  • Gesamte Inhalte

    2
  • Benutzer seit

  • Letzter Besuch

  1. Hallo ihr lieben, danke für eure Antworten, habe das Problem nochmal angesprochen. Lösung des Ganzen: http://www.yard-sql.de/doc/YARD-SQL_g/f56.html Das Ganze läuft über ein CASCADE Option welche auf Ereignisse hinsichtlich des PKs reagiert
  2. Hallo liebe Community ich habe folgendes Problem. Ich soll eine Datenbank mit MSSQL SERVER 2008 erstellen in der es 2 Tabellen gibt. CREATE DATABASE Uebung1; USE Uebung1; CREATE TABLE Produkt ( PID char(2) NOT NULL Primary Key, Artikel varchar(255) NOT NULL, Anzahl int NOT NULL, ); CREATE TABLE Kauf ( KID int Primary key, PID char(2) NOT NULL Foreign key references Produkt(PID), Preis float, Kunde varchar(255), ); INSERT INTO Produkt (PID,Artikel,Anzahl) VALUES ('C1','COMPUTER',0); INSERT INTO Produkt (PID,Artikel,Anzahl) VALUES ('D2','DRUCKER',0); INSERT INTO Produkt (PID,Artikel,Anzahl) VALUES ('B1','BEAMER',0); INSERT INTO Kauf (KID,PID,Preis,Kunde) VALUES (1,'C1',233.20,'Max'); INSERT INTO Kauf (KID,PID,Preis,Kunde) VALUES (2,'B1',320.00,'Paul'); INSERT INTO Kauf (KID,PID,Preis,Kunde) VALUES (3,'D2',99.45,'Max'); INSERT INTO Kauf (KID,PID,Preis,Kunde) VALUES (4,'C1',123.20,'Fritz'); INSERT INTO Kauf (KID,PID,Preis,Kunde) VALUES (5,'D2',100.20,'Egon'); Dieses funktioniert in dieser Form ersteinmal. Allerdings wurde uns als weitere Aufgabe gestellt das bei einer Änderung einer PID die Änderung an die andere Tabelle weitergegeben werden soll. Meine Frage hierzu wäre, ob ich mit der Option eines Triggers richtig liege!? Anders kann ich mir zumindest keine Lösung vorstellen. Ich habe bereits folgendes hierzu versucht: CREATE TRIGGER PID_Update ON dbo.Produkt AFTER UPDATE AS DECLARE @NEW_PID CHAR(2) SET @NEW_PID = (SELECT PID FROM inserted) UPDATE dbo.Produkt SET PID = @NEW_PID Wobei die Erzeugung des Triggers auch wieder funktionierte, allerdings macht entweder A: Der Trigger nicht das was gefordert ist oder B: Ich habe etwas mit den Primary key bzw Foreign Key nicht ganz verstanden denn UPDATE dbo.Produkt SET PID = 'K1' WHERE PID = 'C1' gibt mir folgende Fehlermeldung aus: Meldung 547, Ebene 16, Status 0, Zeile 1 Die UPDATE-Anweisung steht in Konflikt mit der REFERENCE-Einschränkung 'FK__Kauf__PID__108B795B'. Der Konflikt trat in der 'Uebung1'-Datenbank, Tabelle 'dbo.Kauf', column 'PID' auf. Die Anweisung wurde beendet. :confused:

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...