2012-04-02 9 views
21

Xin đừng chắc chắn lý do tại sao Im nhận được lỗi này. Về cơ bản tôi nhận được nó trong ba dòng:Oracle PLS-00363: biểu thức '' không thể được sử dụng làm mục tiêu chuyển nhượng

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 

thủ tục:

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

Bạn cần gán giá trị cho 't_hot_part' hoặc đặt tham số' p_hot_part' thành 'out'. – Ben

Trả lời

0

Tạo mới kiểu biến VARCHAR2 gán IN (đầu vào) chuỗi của bạn.

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;