トリガの概念を把握したり、私の場合に使用する方法を完全にはっきりと理解することが困難です。CHECKで選択しますか?トリガーで?
ここにあります私のこれまでのCREATE:私は何を達成したいことはStation.tarifとActivite.prix上の制約がある
CREATE TABLE Station
(
nomStation VARCHAR2(100),
capacite NUMBER(5) NOT NULL,
lieu VARCHAR2(100) NOT NULL,
region VARCHAR2(100),
tarif NUMBER(6,2) DEFAULT 0,
PRIMARY KEY (nomStation),
CONSTRAINT UC_lieu_region UNIQUE (lieu, region),
CONSTRAINT regionUnique CHECK (region='Ocean Indien' OR
region='Antilles' OR
region='Europe' OR
region='Ameriques' OR
region='Extreme Orient')
);
CREATE TABLE Activite
(
nomStation VARCHAR2(100),
libelle VARCHAR2(100),
prix NUMBER(6,2) DEFAULT 0,
CONSTRAINT PK_nomStation_libelle PRIMARY KEY (nomStation, libelle),
CONSTRAINT FK_nomStation FOREIGN KEY (nomStation) REFERENCES Station(nomStation) ON DELETE CASCADE
);
。
Activite.prix < Station.tarif && Activite.prix > 0
だから当然、私はこの試みた:
CONSTRAINT CH_prix CHECK (prix<(SELECT tarif FROM Station)),
をしかし、私はサブクエリエラーを取得します。 ...
誰もがUsing subquery in a Check statement in Oracle
涼しいですが、残念ながら、私は新人だと私はトリガーが私を助けることができる方法を見ていない:今、私はこのトピックと同じ問題を持っていることを理解できますか?
これは学校の割り当てか製造上の問題ですか?それが学校の場合、教師/インストラクターに最初に尋ねましたか?それがプロダクションであれば、これ以上経験を積んだ人はいないでしょうか? – mathguy
学校の割り当てです。そうではありません、私は英語では、それがあなたの質問ならば、それは不正行為ではないと言う方法を知っていません。これは私の最終学年やメモなどの一部ではありません。私たちは、stackoverflowの助けを借りて、自分自身で解決策を見つけなければなりません。私は解決策がトリガーに基づいていることを知っている、私はちょうどどのように理解していない... – petaire
こんにちは、私はこれが不正を意味していませんでした。私が意味していたことは、生徒が質問をしたときはいつでも、教師に尋ねることができるということでした(私は先生でしたが、なぜ生徒に他の手段を使用するのか理解できませんでした。)授業でトリガーをまだ勉強しましたか? – mathguy