CREATE MATERIALIZED VIEW ORDERS_MV
BUILD IMMEDIATE
REFRESH COMPLETE ON DEMAND AS
SELECT * FROM ORDERS;
---------------------------------------
CREATE OR REPLACE TRIGGER update_ship_receive
INSTEAD OF INSERT ON ORDERS_MV
FOR EACH ROW
BEGIN
UPDATE ORDERS SET EXPECTED_SHIP_DATE = ORDER_DATE+5;
UPDATE ORDERS SET EXPECTED_RECEIVE_DATE = SHIP_DATE+1
WHERE SHIPPING_METHOD = '1 DAY';
UPDATE ORDERS SET EXPECTED_RECEIVE_DATE = SHIP_DATE+2
WHERE SHIPPING_METHOD = '2 DAY';
UPDATE ORDERS SET EXPECTED_RECEIVE_DATE = SHIP_DATE+5
WHERE SHIPPING_METHOD = 'GROUND';
END;
/
-3
A
答えて
4
Oracleには、テーブル構造が表示されます。私たちはできません。私はオラクルがあなたのコードにこの問題を見ていると賭けている。
エラーの最初の行を指す必要があります。そうでない場合は、* user_errorsから選択してください。
ORDERSテーブルにはSHIP_DATEはありません(最初のステートメントはEXPECTED_SHIP_DATEについて話しているので)。
+0
マテリアライズド・ビューを作成しましたが、INSTEAD OFトリガーの作成を試みると、「INSTEAD OFトリガーを表に作成できません」というメッセージが表示されます。これはおかしい。 – indolent
3
ないのOracle男と言うが、あなたは
:OLD.SHIP_DATE
または
:NEW.SHIP_DATE
と
:OLD.ORDER_DATE
または
:NEW.ORDER_DATE
012を使用しないでください
1
ごめんなさい、オーダーテーブルにBEFORE INSERTトリガーを作成しないでください。 BEFORE INSERTトリガを作成するときに、注文表に新しい行を追加すると、.NEW.EXPECTED_SHIP_DATE、.NEW.EXPECTED_RECEIVE_DATE更新注文表を使用できます。注文時にマテリアライズド・ビューを作成しないでください
関連する問題
- 1. Oracleトリガーのエラー、無効な識別子
- 2. 複合トリガー無効な識別子
- 3. gnuアームアセンブラのコマンドラインマクロが ".ifdefの無効な識別子"で失敗する
- 4. ここでevalが失敗するのはなぜですか?
- 5. ここでperldocが失敗するのはなぜですか?
- 6. 無効な識別子
- 7. javafx.fxml.LoadException:無効な識別子
- 8. SQL - 無効な識別子ですが、どこにありますか?
- 9. ORA-000904:「ATTRIBUTE」。無効な識別子00904.00000 - "%s:無効な識別子"
- 10. IEでこれがなぜ失敗するのですか?
- 11. トリガーの更新が失敗するのはなぜですか?
- 12. 識別子が無効ですか?
- 13. マウスイベントがトリガーされないのはなぜですか?ここ
- 14. このCollectionAssert.AreEquivalent()テストが失敗するのはなぜですか?
- 15. このサブクエリが失敗するのはなぜですか?
- 16. このJavaアプレットが失敗するのはなぜですか?
- 17. このセマフォーコードが失敗するのはなぜですか?
- 18. このC#コードが失敗するのはなぜですか?
- 19. このrequire_onceが失敗するのはなぜですか?
- 20. このプロトタイプが失敗するのはなぜですか?
- 21. このクエリが失敗するのはなぜですか?
- 22. このnullチェックが失敗するのはなぜですか?
- 23. このforeachが失敗するのはなぜですか?
- 24. 無効な識別子は、箇条
- 25. Oracle-なぜこのエラーを表示するか "ORA-00904:" OUTLET_STATUS ":無効な識別子"
- 26. スコープの無効な識別子エラー
- 27. 更新の無効な識別子
- 28. ORA-00904:無効な識別子のエラー
- 29. Oracle/PHP「無効な識別子」のエラー
- 30. SQL無効な識別子のクエリ
エラー・メッセージは、少なくとも問題のある識別子を持つコード行を指し示します。 –
エラーの原因ではありませんが、最初のUPDATEステートメントはテーブル内のすべての行を更新します。 –
@Jeffrey:ordersテーブルがあり、expected_ship、expected_receive、およびactual_receiveという3つの列はありません。そこで、これらの3つの属性を追加するためにOrdersテーブルを変更しました。さて、ordersテーブルの新しい挿入ごとに、expected_shipとexpected_receiveが自動的に更新されるようにしなければなりません。 – indolent