[英]Oracle ERROR : INVALID SQL STATEMENT ERROR
我做了一个存储过程,但是我无法执行该存储过程,我不知道问题出在哪里。
源代码:
Create or replace procedure land_naam(klantnummer_input in VARCHAR2
, verzendland_output out VARCHAR2)
AS
BEGIN
SELECT land into verzendland_output from klanten
WHERE klantnummer = klantnummer_input;
END land_naam;
首先,我创建过程没有任何错误。
然后,如果我想执行它,则运行代码
Execute land_naam;
之后,我得到错误:
ORA-00900:无效的SQL语句
修改您的代码,如下所示:
Create or replace procedure land_naam(klantnummer_input in VARCHAR2)
AS
verzendland_output VARCHAR2(2000);
BEGIN
SELECT land into verzendland_output from klanten
WHERE klantnummer = klantnummer_input;
END land_naam;
执行该过程时,由于您有输入参数,请提供一个。
e.g. EXECUTE land_naam('S');
由于过程同时指定了输入和输出参数,因此在调用过程时必须指定这些参数:
在SQLPlus中声明一个将保存输出的变量,简单易用
SQL> var out varchar2(100)
然后使用输入和输出参数调用存储过程(否则,您没有指定正确数量的参数)
SQL> exec land_naam('yourinput', :out)
最后,输出输出变量的内容
SQL> print out
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.