我正在尝试创建匿名块来更新esri的oracle版本视图。当我从pl / sql Developer执行而没有开始/结束时,代码运行良好。但是,一旦添加开始/结束,我就会出错。
begin
call sde.version_util.set_current_version ('ARCFM8.vtemp');
call sde.version_user_ddl.edit_version ('ARCFM8.vtemp', 1);
update arcfm8.t_conductormarker_vw set CEAREFERENCEDRAWING = 'my fisrt multiversion view update'
where OBJECTID = 3;
call sde.version_user_ddl.edit_version ('ARCFM8.vtemp', 2);
end;
答案 0 :(得分:4)
Call是一个SQL关键字,而不是PLSQL关键字。它可以在匿名块之外运行,但不能在匿名块内运行。 PLSQL将为您解决这个问题,因此您所需要做的就是...
begin
sde.version_util.set_current_version ('ARCFM8.vtemp');
sde.version_user_ddl.edit_version ('ARCFM8.vtemp', 1);
update arcfm8.t_conductormarker_vw set CEAREFERENCEDRAWING = 'my fisrt multiversion view update' where OBJECTID = 3;
sde.version_user_ddl.edit_version ('ARCFM8.vtemp', 2);
end;