Oracle PLS-00363: 表达式 '' 不能用作赋值目标

2021-12-24 00:00:00 sql oracle plsql

你好,不知道为什么我会收到这个错误.基本上我在这三行中得到它:

Hello not sure why Im getting this error. Basically I get it in these three lines:

PLS-00363: expression 'p_temp_foo.editable.modified_by' cannot be used as an assignment target
PLS-00363: expression 'p_temp_foo.editable.date' cannot be used as an assignment target
PLS-00363: expression 'p_temp_foo.editable.modified_by' cannot be used as an assignment target

程序:

 PROCEDURE run_temp_procedure (p_temp_foo IN part_bean, p_member_number IN NUMBER)
 IS
 t_temp_foo part_bean;
  now   DATE;
  BEGIN
  now := SYSDATE;

             p_temp_foo.editable:= t_temp_foo.editable;
        p_temp_foo.editable.date := SYSDATE;
        p_temp_foo.editable.modified_by := p_member_number;


  END run_temp_procedure ;

推荐答案

p_temp_foo 是一个 IN 参数.本质上,这些是只读的.您可以将其定义为 IN OUT 参数或 OUT 参数.

p_temp_foo is an IN parameter. By nature, these are read only. You could define it as an IN OUT parameter, or an OUT parameter.

有关更多信息,请参见此处:http://plsql-tutorial.com/plsql-passing-parameters-procedure-function.htm

For more info see here: http://plsql-tutorial.com/plsql-passing-parameters-procedure-function.htm

相关文章