pl/sql传入路径和文件以及操作系统 获得相应的文件完整路径
程序员文章站
2024-02-05 23:33:52
...
主要就是针对不同的操作系统,才必须要注意这个情况,对于在数据库中保存相应的文件路径有很大的作用 PL/SQL 文件路径 --获得解析文件路径 :传入路径,文件名,操作系统标识 w,ufunction resolve_filename (p_dir in varchar2, p_file_name in varchar2, p_o
主要就是针对不同的操作系统,才必须要注意这个情况,对于在数据库中保存相应的文件路径有很大的作用 PL/SQL 文件路径--获得解析文件路径 :传入路径,文件名,操作系统标识 w,u function resolve_filename (p_dir in varchar2, p_file_name in varchar2, p_os in varchar2 := g_os_windows) return varchar2 as l_returnvalue t_file_name; begin /* Purpose: resolve filename, ie. properly concatenate dir and filename Remarks: Who Date Description ------ ---------- -------------------------------- MBR 01.01.2005 Created */ --如果是 是 windows if lower(p_os) = g_os_windows then --如果最后一位字符时 \ if substr(p_dir,-1) = g_dir_sep_win then --设定返回值为 路径+文件名称 l_returnvalue:=p_dir || p_file_name; else --如果没有 \ 则自己加一个上去 if p_dir is not null then l_returnvalue:=p_dir || g_dir_sep_win || p_file_name; else l_returnvalue:=p_file_name; end if; end if; --如果是unix 就为 / 思路和上面一致 elsif lower(p_os) = g_os_unix then if substr(p_dir,-1) = g_dir_sep_unix then l_returnvalue:=p_dir || p_file_name; else if p_dir is not null then l_returnvalue:=p_dir || g_dir_sep_unix || p_file_name; else l_returnvalue:=p_file_name; end if; end if; --如果都不是 就无返回值 else l_returnvalue:=null; end if; return l_returnvalue; END resolve_filename;