0

すべて外部キーでリンクされている 3 つのテーブルからデータを削除する手順を作成しましたが、実行されません。手順は次のとおりです。

PROCEDURE remove_customer (customer_id VARCHAR2) IS
BEGIN
DELETE FROM order_line
WHERE  order_line.order_id = placed_order.order_id;
DELETE FROM placed_order
WHERE placed_order.customer_id = customer.customer_id;
DELETE FROM customer
WHERE customer.customer_id = remove_customer.customer_id;
total_customers := total_customers - 1;
END;

そして、これが 3 つのテーブルの構造です。エラーが発生する理由は誰にも分かりますか?

customer(
    Customer_ID INTEGER NOT NULL,
    Country VARCHAR(15),
    First_Name  VARCHAR(30),
    Last_Name   VARCHAR(30),
    CONSTRAINT  pk_customer PRIMARY KEY (Customer_ID)
);


    placed_order(
    order_id    INTEGER NOT NULL,
    order_date  VARCHAR(15),
    fk1_Customer_ID INTEGER NOT NULL,
    fk2_Employee_ID INTEGER NOT NULL,
    fk3_order_type_id   INTEGER NOT NULL,
    CONSTRAINT  pk_placed_order PRIMARY KEY (order_id)
);


    order_line(
    order_line_id   INTEGER NOT NULL,
    fk1_order_id    INTEGER NOT NULL,
    fk2_product_id  INTEGER NOT NUL,
    CONSTRAINT  pk_order_line PRIMARY KEY (order_line_id)
);

これがスローバックする2つのエラーです。

ORA-00904: "PLACED_ORDER"."ORDER_ID": 無効な識別子コンパイルに失敗しました、行 30

ORA-00904: "CUSTOMER"."CUSTOMER_ID": 無効な識別子コンパイルに失敗しました、行 32

4

1 に答える 1