ORA-00900:无效的 SQL 语句 - 在 oracle 10g 中运行过程时
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/13722307/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
ORA-00900: invalid SQL statement- when run a procedure in oracle 10g
提问by kumar
I am using Oracle 10g database and trying to run a procedure using SQL commands.
我正在使用 Oracle 10g 数据库并尝试使用 SQL 命令运行一个过程。
create or replace procedure "exam" is
begin
DBMS_OUTPUT.PUT_LINE('Test');
end;
Then click on Run button. It shows: "procedure created".
然后点击运行按钮。它显示:“程序已创建”。
When I try to execute it using:
当我尝试使用以下方法执行它时:
execute exam;
then click on Run button, it shows:
然后点击运行按钮,它显示:
ORA-00900: invalid SQL statement
Thanks for your help.
谢谢你的帮助。
回答by Kirill Leontev
Just noticed a detail in your question. You press run
button. Thus, you must be using an IDE.
刚刚注意到你问题中的一个细节。你按下run
按钮。因此,您必须使用 IDE。
You cannot use execute
in IDEs - it is an sql*plus
command. It mightwork in Oracle SQL Developer though, but I wouldn't use it there anyway;
您不能execute
在 IDE 中使用- 它是一个sql*plus
命令。虽然它可能在 Oracle SQL Developer 中工作,但无论如何我不会在那里使用它;
Try
尝试
begin
exam;
end;
回答by David Aldridge
Lose the double-quotes around the name. They're a bad practice in Oracle.
去掉名字周围的双引号。它们在 Oracle 中是一种不好的做法。
回答by Michael Kremser
See: Syntax error while trying to call an Oracle package using ODBC in C#
请参阅:尝试在 C# 中使用 ODBC 调用 Oracle 包时出现语法错误
You have to put "{" and "}" before the command. Example:
你必须在命令前加上“{”和“}”。例子:
processListCmd.CommandType = CommandType.StoredProcedure;
processListCmd.CommandText = "{ call rep_invnr_proclist }";
processListCmd.ExecuteNonQuery();