Première fonction
Résolu
Imagine43
Messages postés
270
Date d'inscription
Statut
Membre
Dernière intervention
-
Imagine43 Messages postés 270 Date d'inscription Statut Membre Dernière intervention -
Imagine43 Messages postés 270 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutant en PL/SQL et je dois écrire une fonction permettant d'ajouter un devis. Appelée Sp_AjoutDevis, celle-ci doit créer un devis si les données rentrées en paramètres vérifient le fait que l'identifiant de la table personne existe et pareillement pour celui de la table produit.
Pour récapituler, nous avons :
Table client -> Cli_id ; cli_nom ; cli_prenom : cli_ddn
Table Devis -> dev_id ; dev_date ; dev_dureevalidite ; dev_quantite; dev_client ; dev_produit
Table Produit -> pdt_id ; pdt_designation ; pdt_PUHT
Pour le moment, j'ai fait ce code là :
Mais pour le moment, je ne fais qu'enchaîner les erreurs et au final, je me perds plus qu'autre chose...
Si quelqu'un pouvait m'aiguiller quant à la marche à suivre . ..
Bonne soirée,
Imagine.
Je suis débutant en PL/SQL et je dois écrire une fonction permettant d'ajouter un devis. Appelée Sp_AjoutDevis, celle-ci doit créer un devis si les données rentrées en paramètres vérifient le fait que l'identifiant de la table personne existe et pareillement pour celui de la table produit.
Pour récapituler, nous avons :
Table client -> Cli_id ; cli_nom ; cli_prenom : cli_ddn
Table Devis -> dev_id ; dev_date ; dev_dureevalidite ; dev_quantite; dev_client ; dev_produit
Table Produit -> pdt_id ; pdt_designation ; pdt_PUHT
Pour le moment, j'ai fait ce code là :
CREATE OR REPLACE FUNCTION SP_AJOUTDEVIS
(
NUMCLIENT IN NUMBER
, IDPRODUIT IN NUMBER
, IDTVA IN NUMBER
, QTE IN NUMBER
, DUREEVALIDITE IN NUMBER
) RETURN VARCHAR2 AS
p_NUMCLIENT NUMBER := NUMCLIENT ;
p_IDPRODUIT NUMBER := IDPRODUIT;
p_IDTVA NUMBER := IDTVA;
p_QTE NUMBER := QTE;
p_DUREEVALIDITE VARCHAR2(100) := DUREEVALIDITE;
resultat NUMBER;
retour varchar2(100);
BEGIN
/*WHEN EXISTS ( */
resultat = (SELECT CLI_ID FROM CLIENT WHERE CLI_ID = p_NUMCLIENT);/*)*/
IF NO_DATA_FOUND THEN
return retour = "ID Client Inconnu.";
ELSE
/*WHEN EXISTS (*/
SELECT PDT_ID FROM PRODUIT WHERE PDT_ID = p_IDPRODUIT;/*)*/
IF NO_DATA_FOUND THEN
return retour = "ID Client Inconnu.";
ELSE
INSERT INTO DEVIS VALUES ( (SELECT NVL(MAX(DEV_ID),0)+1 FROM DEVIS), TO_CHAR(SYSDATE, "HH24:MI:SS"), p_DUREEVALIDITE, p_QTE, p_NUMCLIENT, p_IDPRODUIT );
return retour = "Devis enregistré.";
END IF;
END IF;
/*ELSE
retour := "ID Produit Inconnu."
END IF;
ELSE
retour := "ID Client Inconnu."
END IF;
RETURN retour;*/
END SP_AJOUTDEVIS;
Mais pour le moment, je ne fais qu'enchaîner les erreurs et au final, je me perds plus qu'autre chose...
Si quelqu'un pouvait m'aiguiller quant à la marche à suivre . ..
Bonne soirée,
Imagine.
A voir également:
- Première fonction
- Fonction si et - Guide
- Fonction miroir - Guide
- Telecharger adobe premiere pro gratuit windows 10 - Télécharger - Montage & Édition
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide