Java DB で制約を作成しようとしています。タスクとサブタスクの 2 つのテーブルがあります。これらのテーブルには 1:m の関係があります (タスク 1:m サブタスク)。制約は、サブタスクの start_date がタスク テーブルの開始日より前でないことを確認する必要があります。よくわかりませんが、これをどのように行うことができますか。私のコード:
ALTER TABLE subtask
ADD CONSTRAINT c1 CHECK(
s.start_date >= (SELECT t.start_date
FROM task t, subtask s
WHERE t.start_date = s.start_date)
)
これによりエラーが発生します:
'subquery' may not appear in a CHECK CONSTRAINT definition because it may return non-deterministic results.
SQLで制約を表現するにはどうすればよいですか? どんな助けでも大歓迎です。