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