Appel Fonction ORACLE
Anonyme
Bonjour,

Je dois récupérer le résultat renvoyé par une fonction créée sous Oracle.
Cette fonction contient plusieurs Select et Insert.

Mon problème est que n'arrive pas à trouver la syntaxe pour appeller cette fonction.

J'ai essayé :
1 - Select Function(paramx) FROM DUAL

2 -
BEGIN
Function(paramx);
END;

3 -

Si quelqu'un connait une autre syntaxe, je suis preneur.
Merci

Contribution le : 01/03/2006 15:59
Créer un fichier PDF de la contribution Imprimer


Re: Appel Fonction ORACLE
Stagiaire WDF
Inscrit:
10/03/2006 08:33
De Ardèche
Post(s): 3
Citation :

Je dois récupérer le résultat renvoyé par une fonction créée sous Oracle.
Cette fonction contient plusieurs Select et Insert.


Que doit retourner cette fonction comme résultat ?
- une ligne de données
- plusieurs lignes
- un tableau
- une valeur unique
- un indicateur de bon déroulement
- ...

l'idéal serait de voir comment cette fonction est structurée pour pouvoir t'aider efficacement.
Indique également la version de Oracle,ça peut éventuellement servir.

Bons dév

Contribution le : 10/03/2006 09:04
Créer un fichier PDF de la contribution Imprimer


Re: Appel Fonction ORACLE
Stagiaire WDF
Inscrit:
13/04/2004 18:59
Post(s): 4
La version d'ORACLE est la 9i - release 9.2.0.7.0

Voici le corps de la fonction :
CREATE OR REPLACE FUNCTION FONCTIONRETOUR(LeNomTable VARCHAR2, LePrefixe VARCHAR2) RETURN NUMBER IS

NumSuivant NUMBER(10);
Tampon NUMBER(10);
NvPrefixe VARCHAR2(40);

BEGIN
NvPrefixe := NVL(UPPER(LePrefixe), 'PREFIXE');
--
-- Recherche du numéro actuel
--
BEGIN
SELECT NumSeq INTO NumSuivant
FROM Ref_CII
WHERE NomTable = UPPER(LeNomTable)
AND Prefixe = NvPrefixe
FOR UPDATE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
LOCK TABLE REF_CII IN Exclusive MODE;
NumSuivant := 0;
END;
NumSuivant := NumSuivant + 1;
--
-- Mise à jour de la table Ref_CII
--
UPDATE Ref_CII
SET NumSeq = NumSeq + 1
WHERE NomTable = UPPER(LeNomTable)
AND Prefixe = NvPrefixe;
IF SQL%NOTFOUND THEN
INSERT INTO Ref_CII(NomTable, Prefixe, NumSeq) VALUES (UPPER(LeNomTable), NvPrefixe, 1);
END IF;
RETURN NumSuivant;
END;

Je sais que les appels de fonctions sont possibles en Delphi et JAVA mais je n'en connais pas non plus la syntaxe.

Merci pour ton aide.

Contribution le : 14/03/2006 09:55
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2