3
私は住宅社会管理システムのデータベースを作成しています。私は次の2つのテーブルを持っています。あるテーブル属性またはその値を他のテーブルの属性に対する制約として使用する方法
私はあるHOUSE
テーブルの属性に制約を適用する
CREATE TABLE PLOT (plotID number(3) PRIMARY KEY,
blockName char REFERENCES blockINFO,
ownerID number(13) REFERENCES OWNER,
status varchar2(10) NOT NULL,
CONSTRAINT PLOT_CONS CHECK ((Status IN ('SOLD', 'UNSOLD'))));
CREATE TABLE HOUSE (houseID number(3) PRIMARY KEY,
plotID number(3) REFERENCES PLOT)
CONSTRAINT PLOT_CONS CHECK (plotID (Status NOT IN ('UNSOLD'))));
- > plotiID(外部キー)&制約はその状況が「売れ残り」であれば、ユーザはHOUSE
テーブル内の任意のplotID
を入力できるようにするべきではありませんのPLOT
テーブル。
私はこれを試しました。動作していない:
CONSTRAINT PLOT_CONS CHECK (plotID (status IN('SOLD')));
? SQLの質問には必ずDBMSタグを入れてください。 –
あなたはたぶん制約の代わりにトリガーでそれを処理する必要があります –
トリガーでこれを行う方法 –