diff --git a/COURS/PLSQL.tex b/COURS/PLSQL.tex index 2248fb6..acd8259 100644 --- a/COURS/PLSQL.tex +++ b/COURS/PLSQL.tex @@ -1354,6 +1354,57 @@ END; \cache{ +set echo off +set verify off +set feed off + +CREATE TABLE tLigne(designation VARCHAR2(200)); + +DECLARE + +dStockNull NUMBER := 0; + +bin NUMBER; + +dNbProduit NUMBER := 0; + +CURSOR r IS SELECT stock FROM tProduit; + +BEGIN + +OPEN r; + +FETCH r INTO bin; + +WHILE r\%FOUND + +LOOP + +IF bin = 0 then dStockNull := dStockNull + 1; END IF; + +dNbProduit := dNbProduit + 1; + +FETCH r INTO bin; + +END LOOP; + +CLOSE r; + +-- Solution sans curseur + +-- SELECT COUNT(*) INTO dStockNull FROM tProduit WHERE stock = 0; + +-- SELECT COUNT(*) INTO dNbProduit FROM tProduit; + +dStockNull := (dStockNull * 100) / dNbProduit; + +INSERT INTO tLigne VALUES('Il y a '||dNbProduit||'pourcentage de produits avec un stock vide.'); + +END; +. +/ + +SELECT * FROM tLigne; }