Pascal LAFOURCADE 4 years ago
parent 472e75fb6a
commit 00596d3135

@ -979,6 +979,8 @@ set verify on
set feed on
}
\begin{exercice} Enregistrer un nouveau produit dun fournisseur :
\begin{itemize}
\item saisie des références du produit et du fournisseur, du prix
@ -990,9 +992,82 @@ set feed on
\end{itemize}
\end{exercice}
%% \cache{
%% TODO
%% }
\cache{
set echo off set verify off set feed off
CREATE TABLE tLigne(designation VARCHAR2(500));
variable vRefProduit CHAR(5);
variable vRefFournisseur CHAR(5);
variable vPrixFournisseur NUMBER;
prompt Tappez la référence du nouveau produit:
accept vRefProduit
prompt Tappez la référence du fournisseur du nouveau produit:
accept vRefFournisseur
prompt Tappez le prix du produit:
accept vPrixFournisseur
DECLARE
dCount NUMBER;
NO\_PRODUIT EXCEPTION;
NO\_FOURNISSEUR EXCEPTION;
PRODUIT\_FOURNISSEUR\_ALREADY\_EXIST EXCEPTION;
BEGIN
SELECT COUNT(*) INTO dCount FROM tProduit WHERE noProduit = '\&vRefProduit';
IF dCount = 0 THEN RAISE NO\_PRODUIT;
SELECT COUNT(*) INTO dCount FROM tFournisseur WHERE ref = '\&vRefFournisseur';
IF dCount = 0 THEN RAISE NO\_FOURNISSEUR;
SELECT COUNT(*) INTO dCount FROM tProduitFourn WHERE noProduit = '\&vRefProduit' AND ref = '\&vRefFournisseur';
IF dCount != 0 THEN RAISE PRODUIT\_FOURNISSEUR\_ALREADY\_EXIST;
INSERT INTO tProduitFourn VALUES('\&vRefProduit', '\&vRefFournisseur', '\&vPrixFournisseur', NULL, NULL);
INSERT INTO tLigne VALUES('La liaison entre le produit et le fournisseur a ete ajoute');
EXCEPTION
when NO\_PRODUIT then
INSERT INTO tLigne VALUES('La liaison ne peut exister car le produit renseigne n existe pas');
when NO\_FOURNISSEUR then
INSERT INTO tLigne VALUES('La liaison ne peut exister car le fournisseur renseigne n existe pas');
when PRODUIT\_FOURNISSEUR\_ALREADY\_EXIST then
INSERT INTO tLigne VALUES('La liaison existe deja, et n a donc pas ete ajoute une seconde fois.')
END;
.
/
SELECT * FROM tLigne;
}
\subsection{Erreur Oracle}

Loading…
Cancel
Save