Ich fragte mich, ob es eine Möglichkeit gab, neue Daten in einer Tabelle einem vorhandenen Fremdschlüssel zuzuweisen. Zum Beispiel, wenn ich die folgende Schleife verwenden würde, um zufällig generierte Zahlen zu Spalten in der Kundentabelle zuzuweisen, wie wäre ich in der Lage, cust_id, die ich als Fremdschlüssel in der Tabelle Sales zugewiesen haben, mit neuen Daten jedes Mal erstellt werden a neuer Verkauf ist gemacht?Zuweisen von Daten in einer neuen Tabelle zu einem vorhandenen Fremdschlüssel in einer For-Schleife
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;
\
Versuchen Sie Ihr Code-Formatierung. Ich vermute, dass du nicht viele Antworten bekommst, wenn dein Code ein solches Chaos ist. –
Ich war die Person, die die Frage oben gepostet hat. Ich werde den Zufallsgenerator verwenden, um Werte auch der Verkaufstabelle zuzuordnen. Aber ich frage mich, wie Sie neu generierten Daten eine cust_id in die Verkaufstabelle zuweisen würden. Auch, was bedeutet die Zeile: wo mod (cust_id, 13) = 0; bedeuten? Danke. – taksIV
Dabei verwendet mod (cust_id, 13) = 0 den Modulus, um einen zufälligen Verkaufsdatensatz für jeden dreizehnten Kundeneintrag zu generieren. – APC