J'utilise la base de données Oracle 10g et j'essaie d'exécuter une procédure à l'aide de commandes SQL.
create or replace procedure "exam" is
begin
DBMS_OUTPUT.PUT_LINE('Test');
end;
Puis cliquez sur le bouton Exécuter. Cela montre: "procédure créée".
Quand j'essaye de l'exécuter en utilisant:
execute exam;
puis cliquez sur le bouton Exécuter, il affiche:
ORA-00900: invalid SQL statement
Merci de votre aide.
Je viens de remarquer un détail dans votre question. Vous appuyez sur le bouton run
. Ainsi, vous devez utiliser un IDE.
Vous ne pouvez pas utiliser execute
dans les IDE - c’est une commande sql*plus
. Cela fonctionne peut-être avec Oracle SQL Developer, mais je ne l’utiliserais pas de toute façon;
Essayer
begin
exam;
end;
Perdez les guillemets autour du nom. Ils sont une mauvaise pratique dans Oracle.
Voir: Erreur de syntaxe lors de la tentative d'appel d'un package Oracle à l'aide de ODBC en C #
Vous devez mettre "{" et "}" avant la commande . Exemple:
processListCmd.CommandType = CommandType.StoredProcedure;
processListCmd.CommandText = "{ call rep_invnr_proclist }";
processListCmd.ExecuteNonQuery();