次のように私のSQLコードは次のとおりです。私は確認するよう SQLの自動検証を行に追加するときに、データを
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')
は、私は、「associatedWith」列にUNIQUE制約を持っていることPERSONNAME者メアリーはすでにジョンと関連付けられているので、メアリーはジェフと関連付けることはできませんでした。
私のクエリは、テーブルの次の行を挿入することに関連しています。 personNameカラムに 'Mary'を挿入したいが、自動ポペットするか、対応する 'associatedWith'フィールドに 'John'のみを入れることができるルールが必要です。人は他の人としか関連付けることができず、Johnメアリーがテーブルに入力されると、自動的にジョンと関連付けられます。
私は比較的新しいSQLですが、私は可能な限り自分自身でそれを理解したいと思います。もしこれを行う方法をヒントできれば、私は感謝します。行って研究し、これを行う方法を学びます。
ご協力いただきありがとうございます。
デビット
これはどのRDBMSですか? 'mysql'、' postgresql'、 'sql-server'、' oracle'、 'db2'のどれかを指定するタグを追加してください。 –
こんにちはマーク、謝罪 - 私はMS SQL Management Studioを使用しています。ありがとう、David – David
値が指定されていない場合は 'associatedWith'フィールドの値を入力するか、指定された値をチェックするトリガーが必要です。 https://msdn.microsoft.com/en-us/library/ms189799.aspx – mendosi