Procedure stockée Oracle erreur - SQL/NoSQL - Programmation
Marsh Posté le 10-05-2005 à 19:37:36
j'aurais plutot fait une fonction a ta place
Code :
|
moi j'aurais fait comme ça... si le problème persiste, envoie moi un petit mail, je veux bien testé (ou même chercher). (J'ai Oracle 9i Release 2 sous WinXP SP2)
Marsh Posté le 13-05-2005 à 21:58:21
Tu passes une valeur constante à une procedure qui doit écrire dedans, d'où le "expression '0565646555' ne peut être utilisée comme cible".
Une fonction est probablement plus appropriée, comme le dit moi23372
Marsh Posté le 25-02-2008 à 16:09:51
Merci Beegee.
Je remonte le post, qui date de presque 3 ans... En tapant "PLS-00363" sous Google, j'arrive ici.
J'ai fait la même erreur : passer une constante à une fonction qui attendait un argument en IN + OUT. Je ne débute pas, pourtant. Tout ça parce que la constante en question porte le même nom qu'une variable !
Comme quoi, c'est important de suivre les normes de développement et les règles de nommage...
Marsh Posté le 26-02-2008 à 16:05:30
OUT, c'est le mal de toute façon : si tu dois retourner une valeur, alors t'as besoin d'une FONCTION et non d'une PROCEDURE.
C'est d'autant plus vrai maintenant qu'Oracle gère sans problème les record maintenant (structure si tu préfères)
Rappels des bases de l'algo :
Une PROCEDURE fait quelquechose (et donc ne retourne rien)
Une FONCTION vaut quelquechose (et si possible, ne fait rien)
Marsh Posté le 10-05-2005 à 16:47:52
Salut,
Je suis en train d'apprendre oracle, et après avoir crée une procedure stockée, je n'arrive pas a l'invoquer a partir de SQL* Plus. J'ai changé le mode de IN OUT a OUT, mais j'ai toujours une erreur.
J'utilise oracle 8i sur une machine win2kSP4.
Voici la procedure stockée:
Voici comment je l'invoque a partir de SQL* Plus:
Voici l'erreur:
BEGIN myproc4('0145478523'); END;
*
ERREUR à la ligne 1 :
ORA-06550: Ligne 1, colonne 15 :
PLS-00363: expression '0565646555' ne peut être utilisée comme cible
d'affectation
ORA-06550: Ligne 1, colonne 7 :
PL/SQL: Statement ignored
Il ne me semble pas que la syntaxe de cette procedure soit fautive, mais ou se trouve mon erreur?
---------------
The bible was written by people who believed the earth was flat!