My SQL-Code ist wie folgt:SQL auto-Validierung Daten, wenn es das Hinzufügen
CREATE TABLE personsdb
(personID int IDENTITY(1,1) NOT NULL,
personName varchar(50) NOT NULL,
associatedWith varchar(50) NOT NULL,
CONSTRAINT pk_persondb PRIMARY KEY (personID),
CONSTRAINT uq_persondb UNIQUE (associatedWith))
INSERT INTO personsdb
(personID, personName, associatedWith)
VALUES
('John', 'Mary'),
('Jack', 'Maggie'),
('Jeff', 'Marie')
ich eine UNIQUE Constraint auf der ‚associatedWith‘ Spalte haben, wie ich in person, dass eine Person sicherstellen möchten, kann nur mit einer Person in associatedWith assoziiert werden, dh Mary konnte nicht mit Jeff assoziiert werden, da Mary bereits mit John assoziiert ist.
Meine Abfrage bezieht sich auf das Einfügen der nächsten Zeile der Tabelle. Ich möchte 'Mary' in die personName -Spalte einfügen, aber brauche eine Regel, die automatisch 'John' im entsprechenden 'associatedWith'-Feld auffüllt oder nur zulässt, dass eine Person nur mit einer anderen Person und als John verknüpft werden kann ist bereits mit Maria verbunden, wenn Maria in den Tisch eintritt, sollte sie automatisch mit Johannes verbunden werden.
Ich bin relativ neu in SQL, aber ich würde es gerne so weit wie möglich selbst herausfinden - wenn Sie einen Weg dazu angeben könnten (in Laiensprache) wäre ich dankbar, dass ich es kann geh und forsche und lerne, wie das geht.
Vielen Dank im Voraus für Ihre Hilfe.
David
Für welches RDBMS ist das? Bitte fügen Sie ein Tag hinzu, um anzugeben, ob Sie 'mysql',' postgresql', 'sql-server',' oracle' oder 'db2' verwenden - oder etwas ganz anderes. –
Hallo Marc, Entschuldigung - Ich benutze MS SQL Management Studio. Danke, David – David
Klingt so, als ob Sie einen Trigger wünschen, der einen Wert für das Feld 'associatedWith' ausfüllt, wenn kein Wert angegeben wird, oder einen übergebenen Wert überprüft. https://msdn.microsoft.com/en-us/library/ms189799.aspx – mendosi