|
|
@ -979,6 +979,8 @@ set verify on
|
|
|
|
set feed on
|
|
|
|
set feed on
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\begin{exercice} Enregistrer un nouveau produit d’un fournisseur :
|
|
|
|
\begin{exercice} Enregistrer un nouveau produit d’un fournisseur :
|
|
|
|
\begin{itemize}
|
|
|
|
\begin{itemize}
|
|
|
|
\item saisie des références du produit et du fournisseur, du prix
|
|
|
|
\item saisie des références du produit et du fournisseur, du prix
|
|
|
@ -990,9 +992,82 @@ set feed on
|
|
|
|
\end{itemize}
|
|
|
|
\end{itemize}
|
|
|
|
\end{exercice}
|
|
|
|
\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}
|
|
|
|
\subsection{Erreur Oracle}
|
|
|
|