0
テーブルの新しいデータを既存の外部キーに割り当てる方法があるのだろうかと思っていました。 たとえば、次のループを使用してcustomerテーブルの列にランダムに生成された数値を割り当てると、Salesテーブルの外部キーとして割り当てられたcust_idと、毎回作成された新しいデータをリンクする方法新しい販売が行われますか?forループ内の既存の外部キーに新しいテーブルのデータを割り当てる
CUSTOMER:
DECLARE
v_cust_id NUMBER(4) NOT NULL := 0000;
v_cust_name VARCHAR2(30);
v_cust_add VARCHAR2(30);
v_phone VARCHAR2(10);
BEGIN
FOR v IN 1 .. 2000 --Loop 2000 times to create data for the 2000 customers in the database.
LOOP
v_cust_id := v_cust_id + 1;
v_cust_name := dbms_random.string('U',5);
v_cust_add := dbms_random.string('A',15);
v_phone := dbms_random.value(1000000,9999999);
INSERT INTO customer (cust_id, cust_name, cust_add, phone)
VALUES (v_cust_id, v_cust_name, v_cust_add, v_phone);
END LOOP;
END;
/
SALES:
DECLARE
v_sale_id NUMBER(4) NOT NULL := ;
v_sale_price NUMBER(8,2);
v_sale_date DATE;
v_no_of_prods NUMBER(4);
v_prod_id NUMBER(4);
v_desp_id NUMBER(4);
v_cust_id NUMBER(4);
BEGIN
FOR v IN 1 .. 10
LOOP
v_sale_id :=
v_sale_price
v_sale_date :=
v_no_of_products :=
v_prod_id :=
v_desp_id :=
v_cust_id :=
INSERT INTO sales (sale_id, sale_price, sale_date, no_of_prods, prod_id, desp_id, cust_id)
VALUES (v_sale_id, v_sale_price, v_sale_date, v_no_of_prods, v_prod_id, v_desp_id, v_cust_id);
END LOOP;
END;
\
はあなたのコードをフォーマットしてください。私はあなたのコードがこのような混乱した混乱であるとき、あなたは多くの答えを得られないだろうと思う。 –
私は上記の質問を投稿した人でした。 ランダムジェネレータを使用してsalesテーブルにも値を割り当てます。しかし私が疑問に思っていたのは、新しく生成されたデータにcust_idをsalesテーブルに割り当てる方法です。 また、行は何ですか:mod(cust_id、13)= 0;平均? ありがとうございます。 – taksIV
ここで、mod(cust_id、13)= 0はモジュラスを使用して、13番目の顧客レコードごとにランダムな売上レコードを生成します。 – APC