parent
dfbba7b11b
commit
c5b3608b84
@ -0,0 +1,59 @@
|
||||
SET echo OFF
|
||||
SET verify OFF
|
||||
SET feed OFF
|
||||
|
||||
DROP TABLE tligne;
|
||||
CREATE TABLE Tligne(ligne VARCHAR2(200));
|
||||
DROP TABLE tligne2;
|
||||
CREATE TABLE Tligne2(ligne VARCHAR2(200));
|
||||
|
||||
|
||||
DECLARE
|
||||
DnoProduit tProduit.noProduit%TYPE;
|
||||
Ddesignation tProduit.designation%TYPE;
|
||||
Dstock tProduit.stock%TYPE;
|
||||
Dref tFournisseur.ref%TYPE;
|
||||
DlistFourn VARCHAR(1000);
|
||||
CURSOR r IS SELECT noProduit,designation,stock FROM tProduit WHERE noProduit NOT IN (SELECT noProduit FROM tProduitFourn);
|
||||
CURSOR t IS SELECT noProduit,designation,stock FROM tProduit;
|
||||
CURSOR s IS SELECT ref FROM tProduitFourn WHERE noProduit = DnoProduit;
|
||||
BEGIN
|
||||
OPEN r;
|
||||
INSERT INTO Tligne VALUES('noProduit designation stock');
|
||||
FETCH r INTO DnoProduit,Ddesignation,Dstock;
|
||||
WHILE r%FOUND
|
||||
LOOP
|
||||
INSERT INTO Tligne VALUES(DnoProduit||' '||Ddesignation||' '||Dstock);
|
||||
FETCH r INTO DnoProduit,Ddesignation,Dstock;
|
||||
END LOOP;
|
||||
CLOSE r;
|
||||
OPEN t;
|
||||
INSERT INTO Tligne2 VALUES('noProduit designation stock reference fournisseur');
|
||||
FETCH t INTO DnoProduit,Ddesignation,Dstock;
|
||||
WHILE t%FOUND
|
||||
LOOP
|
||||
DlistFourn :='';
|
||||
OPEN s;
|
||||
FETCH s INTO Dref;
|
||||
WHILE s%FOUND
|
||||
LOOP
|
||||
DlistFourn := DlistFourn||' '||Dref;
|
||||
FETCH s INTO Dref;
|
||||
END LOOP;
|
||||
CLOSE s;
|
||||
INSERT INTO Tligne2 VALUES(DnoProduit||' '||Ddesignation||' '||Dstock||' '||DlistFourn);
|
||||
FETCH t INTO DnoProduit,Ddesignation,Dstock;
|
||||
END LOOP;
|
||||
CLOSE t;
|
||||
|
||||
END;
|
||||
.
|
||||
/
|
||||
|
||||
|
||||
|
||||
SELECT * FROM Tligne;
|
||||
SELECT * FROM Tligne2;
|
||||
SET echo ON
|
||||
SET verify ON
|
||||
SET feed ON
|
@ -0,0 +1,76 @@
|
||||
set echo off;
|
||||
set verify off;
|
||||
set feed off;
|
||||
|
||||
DELETE FROM PRODUITFOURN WHERE NUMPRODUIT = 'P0002';
|
||||
DELETE FROM PRODUITFOURN WHERE NUMPRODUIT = 'P0004';
|
||||
|
||||
DROP TABLE TproduitAvFourn PURGE;
|
||||
DROP TABLE TproduitNoFourn PURGE;
|
||||
|
||||
CREATE TABLE TproduitAvFourn(
|
||||
NOMFOURN VARCHAR2(100),
|
||||
NUMPRODUIT CHAR(5),
|
||||
DESIGNATION VARCHAR2(100),
|
||||
STOCK NUMBER,
|
||||
PRIXV NUMBER(10, 2),
|
||||
CODERAYON CHAR(5)
|
||||
);
|
||||
|
||||
CREATE TABLE TproduitNoFourn(
|
||||
NUMPRODUIT CHAR(5),
|
||||
DESIGNATION VARCHAR2(100),
|
||||
STOCK NUMBER,
|
||||
PRIXV NUMBER(10, 2),
|
||||
CODERAYON CHAR(5)
|
||||
);
|
||||
|
||||
DECLARE
|
||||
dNumProd CHAR(5);
|
||||
dTest NUMBER;
|
||||
dDesign varchar2(100);
|
||||
dStock NUMBER;
|
||||
dPrix NUMBER(10,2);
|
||||
dCodeR CHAR(5);
|
||||
dNomF varchar2(100);
|
||||
dListeF varchar2(1000);
|
||||
|
||||
CURSOR r IS SELECT * FROM PRODUIT;
|
||||
CURSOR p IS SELECT f.NOM FROM FOURNISSEUR f, PRODUITFOURN pf
|
||||
WHERE dNumProd = pf.NUMPRODUIT AND f.REFFOURN = pf.REFFOURN;
|
||||
|
||||
BEGIN
|
||||
OPEN r;
|
||||
FETCH r INTO dNumProd, dDesign, dStock, dPrix, dCodeR;
|
||||
|
||||
WHILE r%FOUND LOOP
|
||||
SELECT count(NUMPRODUIT) INTO dTest FROM PRODUITFOURN
|
||||
WHERE NUMPRODUIT = dNumProd;
|
||||
|
||||
IF dTest != 0 THEN
|
||||
OPEN p;
|
||||
FETCH p INTO dNomF;
|
||||
WHILE p%FOUND LOOP
|
||||
dListeF := dListeF||' '||dNomF;
|
||||
FETCH p INTO dNomF;
|
||||
END LOOP;
|
||||
CLOSE p;
|
||||
INSERT INTO TproduitAvFourn VALUES (dListeF, dNumProd,dDesign,dStock,dPrix,dCodeR);
|
||||
dListeF := '';
|
||||
ELSE
|
||||
INSERT INTO TproduitNoFourn VALUES (dNumProd,dDesign,dStock,dPrix,dCodeR);
|
||||
END IF;
|
||||
|
||||
FETCH r INTO dNumProd, dDesign, dStock, dPrix, dCodeR;
|
||||
END LOOP;
|
||||
CLOSE r;
|
||||
END;
|
||||
.
|
||||
/
|
||||
|
||||
SELECT * FROM TproduitAvFourn;
|
||||
SELECT * FROM TproduitNoFourn;
|
||||
|
||||
set feed on;
|
||||
set verify on;
|
||||
set echo on;
|
Loading…
Reference in new issue