Je suis un débutant en oracle et voici ma définition de fonction et ma partie d'invocation. Je n'arrive pas à comprendre l'erreur que j'obtiens lorsque j'appelle la fonction. S'il vous plaît, aidez-moi à rectifier mon code.
ORA-06550: ligne 4, colonne 56: PLS-00103: J'ai rencontré le symbole ")" lorsque vous attendez l'un des éléments suivants: (
create or replace function totalcustomers RETURN number IS total number:=0; BEGIN select count(*) into total from customers; RETURN total; END; / declare sum number; BEGIN sum := totalcustomers(); dbms_output.put_line('Total number of customers '||sum); END; /
3 Réponses :
N'utilisez pas sum
comme variable qui est un mot-clé réservé dans Oracle.
La somme est une fonction, elle attend donc le paren ouvert. Renommez la variable.
La partie d'invocation de fonction lançait l'erreur mentionnée, car "sum" pourrait être un mot clé prédéfini dans oracle. La modification de la variable comme suit a aidé.
declare x number; BEGIN x:=totalcustomers(); dbms_output.put_line(' Total number of customers: '||x); END; /
Résultat: Relevé traité. Nombre total de clients: 6