Probleme avec les packages [Oracle] - Divers - Programmation
MarshPosté le 26-11-2002 à 16:45:58
J'ai écrit mon package dans un fichier Package.sql mais qd j'essaie de le lancer pour le creer sous oracle il me recopie les lignes de code de mon fichier sans rien faire , il ne revient meme pas au prompt de sql. Alors je voudrais savoir comment on lance un script . J'ai essayé d'ouvrir mon fichier depuis sql et l'exécuter avec @Package, j'ai essayé avec la commande start [chemin du fichier]\Package.sql.
Mais le fait qu'il ne revienne pas au prompt me semble bizarre ... Voila mon code :
Code :
SET ECHO ON
SPOOL Statistiques_verif
CREATE PACKAGE Statistiques IS
FUNCTION Meilleur_produit (NumCat IN NUMBER)
RETURN (Varchar , Integer) ;
FUNCTION Stat_salaires ()
RETURN (Integer, Integer, Integer) ;
END Statistiques ;
CREATE PACKAGE BODY Statistiques IS
FUNCTION Meilleur_produit (NumCat IN NUMBER)
RETURN (varchar , integer) IS
Nom_Produit varchar , Num_Produit integer;
BEGIN
CURSOR Produits_associes (NC integer) IS
SELECT P.Nom, P.NumProd, D.Quantite
FROM Produit P, DetailCommande D
WHERE P.NumCat = NC
AND P.NumProd = D.NumProd
ORDER BY P.NumProd;
e Produits_associes%ROWTYPE ;
Max_quantite DetailCommande.Quantite%TYPE ;
Somme_quantite DetailCommande.Quantite%TYPE ;
BEGIN
Max_quantite:=0;
Somme_quantite:=0;
OPEN Produits_associes(NumCat);
FETCH Produits_associes INTO e;
NumProd_precedent:=e.NumProd;
NumProd_precedent:=e.Nom;
WHILE (Produits_associes%FOUND)
LOOP
IF (e.NumProd=NumProd_precedent)
THEN Somme_quantite:=Somme_quantite+e.Quantite;
ELSE
Somme_quantite:=e.Quantite;
IF (Somme_quantite>Max_quantite)
THEN
Max_quantite:=Somme_quantite;
NumProd_precedent:=e.NumProd;
NumProd_precedent:=e.Nom;
END IF;
FETCH Produits_associes INTO e;
END IF;
END LOOP ;
CLOSE Produits_associes;
END;
RETURN (NomProd_precedent, NumProd_precedent) ;
END;
FUNCTION Stat_salaires ()
RETURN (integer, integer, integer) IS
Somme_salaires integer, Nbr_employes integer, Rapport integer ;
Marsh Posté le 26-11-2002 à 16:45:58
J'ai écrit mon package dans un fichier Package.sql mais qd j'essaie
de le lancer pour le creer sous oracle il me recopie les lignes de code
de mon fichier sans rien faire , il ne revient meme pas au prompt de sql.
Alors je voudrais savoir comment on lance un script .
J'ai essayé d'ouvrir mon fichier depuis sql et l'exécuter avec @Package,
j'ai essayé avec la commande start [chemin du fichier]\Package.sql.
Mais le fait qu'il ne revienne pas au prompt me semble bizarre ...
Voila mon code :