我正在尝试通过pl sql运行linux命令,但是我收到了错误消息。以下是我的观点:
declare
uc varchar2(200);
upsql varchar2(200);
begin
FOR i IN (select * from cn_check) LOOP
uc := 'cp -r /u1/vasex/new_invoices/pdf' || TRIM(i.path_) ||
TRIM(i.bpl_file_name) || '/u1/vasex/new_invoices/ctunda/' ||
TRIM(i.description_);
uc := TRIM(uc);
upsql := 'vxview_exec.osexec(''' || uc || ''')';
upsql := TRIM(upsql);
EXECUTE IMMEDIATE upsql;
COMMIT;
END LOOP;
end;
答案 0 :(得分:1)
EXECUTE IMMEDIATE允许您执行PL / SQL代码但不能执行OS命令。您需要使用OS_COMMAND包才能执行此操作。
有关OS_COMMAND here
的更多信息