gpt4 book ai didi

oracle - 表达式 'string' 不能用作赋值目标 -SQL PLUS

转载 作者:行者123 更新时间:2023-12-02 06:56:20 26 4
gpt4 key购买 nike

我编写了以下程序,该程序是匿名的,并从字符串中删除所有元音,但是当我调用它时,出现错误:我遵循了类似帖子中给出的建议,但它没有帮助: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 参数。因此,在调用该过程时,您应该 supply a variable到它,以便它可以保存过程返回的值。您不能直接提供值,因为该过程无法修改它。

DECLARE
param NVARCHAR2 (20) := 'hahahahaha';
BEGIN
disemvowel (param);
END;
/

关于oracle - 表达式 'string' 不能用作赋值目标 -SQL PLUS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22270423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com