web-dev-qa-db-fra.com

erreur de syntaxe lors de la déclaration de variables dans une procédure pl / sql

Cela me rend un peu fou. J'essaie d'ajouter une variable à une procédure, mais cela ne fonctionnait pas - je viens de recevoir ce message d'erreur:

[Erreur] Vérification de la syntaxe (25: 7): ERREUR ligne 25, col 7, ligne_fin 25, ligne_fin 12, 'numéro' trouvé, attend:; -ou- ..: = PAR DEFAUT PAS NUL -ou-% -ou- (. @

J'ai présenté une procédure vraiment basique ci-dessous pour isoler le problème et maintenant je suis complètement bloqué, comme chaque guide de syntaxe de base que j'ai regardé indique ce que j'ai fait. Pourquoi ne puis-je pas déclarer des variables comme indiqué ci-dessous? Je code normalement dans SQL Server si c'est un indice de mon problème. Merci beaucoup si quelqu'un peut vous aider!

CREATE OR REPLACE PROCEDURE MRCS.pro_xxx_test1 (cats out sys_refcursor)
IS

declare

spoon number;

balls varchar2(3);

BEGIN

 open cats for select * from dual;

   end;

/
17
DavidG

Retirez le "DECLARE". Pas nécessaire dans une déclaration de fonction/procédure

56
cagcowboy
CREATE OR REPLACE PROCEDURE MRCS.pro_xxx_test1 (cats out sys_refcursor)
IS
spoon number;
balls varchar2(3);
BEGIN
 open cats for select * from dual;
end;
/
11
WBAR

Déclarez la varibale locale entre IS et le bloc BEGIN pour la procédure et la fonction.

CREATE OR REPLACE PROCEDURE MRCS.pro_xxx_test1 (cats out sys_refcursor) IS numéro de cuillère; boules varchar2 (3);

COMMENCER

chats ouverts pour sélectionner * de double;

fin;

/

0
sandeep gupta