2012-04-02 157 views
21

你好不知道为什么林收到这个错误。 基本上我把它在这三条线:甲骨文PLS-00363:表达式“”不能作为分配对象

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 ; 
+3

您需要将值赋给't_hot_part'或将'p_hot_part'赋值为'out'参数。 – Ben 2012-04-02 13:20:51

回答

0

生成新的VARCHAR2类型变量分配你的IN(输入)的字符串。

procedure sp_name(
ps_list    IN VARCHAR2, 
... 
other IN's and OUT's 
... 
) 
as 

ps_list_copy   VARCHAR2 (32000); 

begin 
ps_list_copy := ps_list; 
... 
do your works with ps_list_copy 
... 
... 
Exception when others then 
.... 
end sp_name;