私はトリガーに問題があります(オラクルの新機能) このトリガーでは、新しい契約を挿入するときに、この契約の開始日がこのユーザーの他の契約の終了日より前であることが必要ですトリガーは、古いend_dateを新しい契約のstart_dateに変更する必要があります。この簡単なトリガーの解決
CREATE OR REPLACE TRIGGER Date_contracts
BEFORE INSERT OR UPDATE OF START_DATE ON CONTRACTS
FOR EACH ROW
BEGIN
IF :NEW.START_DATE < (SELECT DISTINCT END_DATE FROM CONTRACTS WHERE SSN = NEW.SSN)
THEN OLD.END_DATE := NEW.START_DATE;
END IF;
END;
/
とSQL developresは、サブクエリはこのコンテキストで許可されていないことを言う:
は、ここに私のコードです。私は修理することを確信していますが、私のレベルがとても低いので解決できません。私はあなたが
それは**それは1つの以上のレコードを返すことがあります示した警告です* * –
古い開始日を変更できると考えると、基本的なトリガーの誤解があります。 –