Je me demandais s'il existait un moyen d'affecter de nouvelles données dans une table à une clé étrangère existante. Par exemple, si j'utilise la boucle suivante pour assigner des nombres générés aléatoirement aux colonnes de la table client, comment pourrais-je lier cust_id, que j'ai affecté comme clé étrangère dans la table Ventes, avec de nouvelles données créées chaque fois nouvelle vente est faite?Affectation de données dans une nouvelle table à une clé étrangère existante dans une boucle 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;
\
Essayez de formater votre code. Je soupçonne que vous n'obtiendrez pas beaucoup de réponses quand votre code est un désordre jeté ensemble comme ceci. –
J'étais la personne qui a posté la question ci-dessus. Je vais également utiliser le générateur aléatoire pour affecter des valeurs à la table des ventes. Mais ce que je me demandais, c'est comment assigner un cust_id aux données nouvellement générées dans la table des ventes. Aussi, qu'est-ce que la ligne: où mod (cust_id, 13) = 0; signifier? Merci. – taksIV
où mod (cust_id, 13) = 0 utilise le module pour générer un enregistrement de vente aléatoire pour chaque treizième enregistrement client. – APC