Oracle PLS-00363: l'expression " ne peut pas être utilisé comme une affectation cible
Bonjour Je ne sais pas pourquoi J'ai cette erreur. Fondamentalement, je l'obtiens dans ces trois lignes:
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
procédure:
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 ;
21
demandé sur
Doc Holiday
2012-04-02 17:18:36
2 réponses
p_temp_foo
est un IN
paramètre. Par nature, ils ne sont lus que. Vous pourrait le définir comme un IN OUT
paramètre, ou un OUT
paramètre.
pour plus d'information voir ici: http://plsql-tutorial.com/plsql-passing-parameters-procedure-function.htm
36
répondu
N West
2013-03-20 21:20:58
générer une nouvelle variable de type VARCHAR2 pour assigner votre chaîne IN (input).
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;
0
répondu
elfekz
2017-02-24 13:38:47