You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.6 KiB
62 lines
1.6 KiB
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;
|
|
.
|
|
/
|
|
|
|
set verify on
|
|
set echo on
|
|
set feed on
|
|
|
|
SELECT * FROM tLigne;
|