Namun di dalam apex sendiri telah diberikan script untuk melakukan delete metadata tsb contoh saat kita ingin menghapus image "xxx.jpg" maka scriptnya adalah
begin
wwv_flow_api.create_or_remove_file(
p_location => 'APPLICATION',
p_name => 'xxx.jpg',
p_mode => 'REMOVE',
p_type => 'IMAGE');
end;
/
Yang perlu diperhatikan adalah p_type bisa 'IMAGE','CSS'atau 'STATIC'. jadi untuk hapus secara banyak contoh satu WS maka kita harus modifikasi seperti ini. contoh dibawah adalah saya ingin menghapus seluruh image yang tersimpan dalam WS='TEST'.
declare
v_id number;
v_ws varchar2(100):='TEST';
begin
--- cari workspace ID
select workspace_id into v_id
from apex_workspaces
where WORKSPACE=upper(v_ws);
---set security supaya bisa di exsekusi diluar apex
wwv_flow_api.set_security_group_id(v_id);
---cursor
FOR x IN (select *
from APEX_WORKSPACE_FILES
where MIME_TYPE like 'image/%') LOOP
wwv_flow_api.create_or_remove_file(
p_location => 'WORKSPACE',
p_name => x.FILE_NAME,
p_mode => 'REMOVE',
p_type => 'IMAGE');
END LOOP;
commit;
end;
/
Tidak ada komentar :
Posting Komentar