create or replace procedure pro_test(strName varchar2,strPath varchar2) authid current_user as num int; begin select count(*) into num from all_directories where directory_name = upper(strName); if num > 0 then execute immediate 'drop directory ' || strName; else execute immediate 'create or replace directory ' || strName || ' as ''' || strPath || ''''; end if; end; /
as
num int;
begin
select count(*) into num from all_directories where directory_name = upper(strName);
if num > 0 then
execute immediate 'drop directory ' || strName;
else
execute immediate 'create or replace directory ' || strName || ' as ''' || strPath || '''';
end if;
end;
/
其中,参数1是directory的名字,如果存在则删除;
参数2是路径名,当directory不存在进行创建的时候需要指定相应的路径名。