2011-01-17 8 views
0

私はplazas_disponiblesから値を割り引くためにこれを使用しています。 plazas_disponiblesが0になったときにOracleの警告を警告する方法はありますか?Oracle:値が負になると、どのように警告を発することができますか?

あなたはあなたのクエリに基づいてマテリアライズド・ビューを作成することもできます
SELECT F.NRO_VUELO, M.CAPACIDAD, M.CAPACIDAD - COALESCE((
SELECT count(*) FROM PLAN_VUELO P 
WHERE P.NRO_VUELO = F.NRO_VUELO 
     ), 0) as PLAZAS_DISPONIBLES 
FROM VUELO F 
     INNER JOIN MODELO M ON M.ID = F.CODIGO_AVION; 
+2

あなたは誰を警告するつもりですか? –

+2

どのように警告するのですか?ポケベル、SMS、電子メール、ツイッター、RSS? –

答えて

1

CREATE MATERIALIZED VIEW PLAZAS_DISPONIBLES_MAT_VIEW 
    REFRESH ON COMMIT 
    AS 
    SELECT F.NRO_VUELO, M.CAPACIDAD, M.CAPACIDAD - COALESCE((
    SELECT count(*) FROM PLAN_VUELO P 
    WHERE P.NRO_VUELO = F.NRO_VUELO 
      ), 0) as PLAZAS_DISPONIBLES 
    FROM VUELO F 
      INNER JOIN MODELO M ON M.ID = F.CODIGO_AVION; 

をして、そのクエリの数(*)は0でないことを確認するためにcheck constraintを追加します。

ALTER TABLE PLAZAS_DISPONIBLES_MAT_VIEW 
    ADD CONSTRAINT PLAZAS_DISPONIBLES_CHECK CHECK (PLAZAS_DISPONIBLES != 0); 

私は!= 0を選択している、多分、あなたは> 0< 0を必要としています。要件を定義するのはあなた次第です。

関連する問題