【发布时间】:2014-04-11 19:12:45
【问题描述】:
我编写了以下程序,该程序是匿名的,并从字符串中删除所有元音,但是当我调用它时出现错误:我已遵循类似帖子中给出的建议,但没有求助:Oracle PLS-00363: expression '' cannot be used as an assignment target
SQL> CREATE OR REPLACE PROCEDURE disemvowel (string IN OUT NVARCHAR2)
2 IS
3 BEGIN
4 DBMS_OUTPUT.PUT_LINE(translate(string,'euioa',''));
5 END disemvowel;
6 /
Procedure created.
到目前为止还不错,但现在我称之为:
SQL> BEGIN
2 disemvowel('hahahahaha');
3 END;
4 /
错误消息说:
disemvowel('hahahahaha');
*
ERROR at line 2:
ORA-06550: line 2, column 12:
PLS-00363: expression 'hahahahaha' cannot be used as an assignment target
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
【问题讨论】:
-
由于您没有更改传递的参数,因此无需将其定义为
IN OUT。只需IN就足够了,然后你也可以传递一个常量 -
我喜欢程序名:)
标签: oracle plsql sqlplus procedure