Oracle 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 ;
 Ben02 апр. 2012 г., 15:20
Вам нужно либо присвоить значенияt_hot_part или сделатьp_hot_part out параметр.

Ответы на вопрос(2)

чтобы назначить строку 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;
Решение Вопроса

p_temp_foo являетсяIN параметр. По своей природе они только для чтения. Вы можете определить это какIN OUT параметр илиOUT параметр.

Для получения дополнительной информации смотрите здесь:http://plsql-tutorial.com/plsql-passing-parameters-procedure-function.htm

Ваш ответ на вопрос