Fonction/Paquet problème PL/SQL

Je suis en train de créer un package avec quatre fonctions. Chaque fonction sera d'ajouter un ensemble de chiffres et de soustraire l'un de l'totale. J'ai eu beaucoup de difficulté à obtenir la syntaxe correcte. Les fonctions ci-dessous travailler sur leur propre, et j'ai essayer d'appeler la première fonction à la fin.

Lorsque j'essaie de créer le package, j'obtiens une erreur où sur la ligne 7, " Rencontré le symbole de la "FIN" lorsque attend l'une des opérations suivantes: fonction début pragma procédure sous-type de courant de type curseur supprimer existe avant de 0,05 secondes"

Dans le corps de package, il dit: "le nom est déjà utilisé par un objet existant". Je ne comprends pas qu'il doit être déclarée dans la spécification du package de toute façon, et de créer ou de remplacer devrait résoudre cela si l'erreur est qu'il y a déjà un paquet nommé functionbyfour.

Et enfin, lorsque je tente d'utiliser une fonction dans le paquet, il est dit " a Rencontré le symbole du "début" lorsque attend que l'un des suivants: := . ( @ % ; not null gamme de caractères par défaut Le symbole ";" a été substitué à "COMMENCER" pour continuer. ORA-06550: ligne 5, colonne 43: PLS-00103: Rencontré le symbole "DE" lorsque attend l'une des opérations suivantes: . ( * % & = - + ; < /> dans le mod reste pas rem <>! = ou ~= >= <= <> ou comme like2 like4 likec entre || multiset moi".

Je suis en utilisant ORACLE EXPRESS edition 11g et je suis nouveau sur PL/SQL(4 semaines).

Toute contribution est grandement appréciée.

CREATE OR REPLACE FUNCTION functionbyfour AS

 FUNCTION functone( first number, second number) RETURN NUMBER ;
 FUNCTION functtwo( first number, second number, third number) RETURN NUMBER ;
 FUNCTION functthree(first number, second number, third number, fourth number) RETURN     NUMBER ;
 FUNCTION functfour( first number, second number, third number, fourth number,fifth   number) RETURN NUMBER ;

END  functionbyfour;
/

CREATE OR REPLACE PACKAGE functionbyfour AS

FUNCTION functone (first number, second number ) RETURN number AS total number;
 BEGIN
total:=first + second  1;
RETURN total;
DBMS_OUTPUT.PUT_LINE(total);
END functone;


FUNCTION functtwo (first number, second number, third number ) RETURN number AS  total     number;
BEGIN
total:=first + second + third  1;
RETURN total;
DBMS_OUTPUT.PUT_LINE(total);
END functtwo;

FUNCTION functthree (first number, second number,third number, fourth number )     RETURN     number AS total number;
BEGIN
total:=first + second + third + fourth  1;
RETURN total;
DBMS_OUTPUT.PUT_LINE(total);
END functthree;


FUNCTION functfour (first number, second number, third number, fourth number, fifth     number ) RETURN number AS total number;
BEGIN
total:=first + second + third + fourth + fifth  1;
RETURN total;
DBMS_OUTPUT.PUT_LINE(total);
END functfour;

/

BEGIN

SELECT functionbyfour.functone(1,2) FROM DUAL;

END;

/

OriginalL'auteur Daniel o Keeffe | 2013-04-16