首页 > 代码库 > Oracle笔记 十四、查询XML操作、操作系统文件

Oracle笔记 十四、查询XML操作、操作系统文件

--1.随机数
select dbms_random.value from dual;
select mod(dbms_random.random, 10) from dual;
--0-9随机数
select abs(mod(dbms_random.random, 10)) from dual;
--40-49随机数
select 40 + abs(mod(dbms_random.random, 10)) from dual;
 
--2.Xml
declare
       words clob;
       xmlStr varchar2(32767);
       line varchar2(2000);
       line_no number := 1;
begin
     words := dbms_xmlquery.getXML(‘select * from scott.emp‘);
     xmlStr := dbms_lob.substr(words, 32767);
     loop
         exit when (xmlStr is null);
         line := substr(xmlStr, 1, instr(xmlStr, chr(10)) - 1);
         dbms_output.put_line(line_no || ‘:‘ || line);
         xmlStr := substr(xmlStr, instr(xmlStr, chr(10)) + 1);
         line_no := line_no + 1;
     end loop;
end;
 
--3.文件
--定义文件夹 命名必须大写
create directory MY_DIR as ‘D:\TEMP‘;
--读文件
declare
       inputfile UTL_FILE.file_type; --文件对象
       input varchar2(2000);
begin
     --指定文件
     --3个参数依次为:文件夹 文件 打开方式[r(读) w(写) a(追加)]
     inputfile := UTL_FILE.fopen(‘MY_DIR‘, ‘demo.txt‘, ‘r‘);
     loop              
         UTL_FILE.get_line(inputfile, input);
         dbms_output.put_line(input);             
     end loop;
     --关闭文件
     UTL_FILE.fclose(inputfile);
     exception
       when no_data_found then dbms_output.put_line(‘文件末尾!‘);
end;
 
--写文件
declare
       inputfile UTL_FILE.file_type; --文件对象
       input varchar2(2000) := ‘Hello World!‘;
begin
     --指定文件
     --3个参数依次为:文件夹 文件 打开方式[r(读) w(写) a(追加)]
     inputfile := UTL_FILE.fopen(‘MY_DIR‘, ‘mydemo.txt‘, ‘a‘);
     --写入数据
     UTL_FILE.put_line(inputfile, input);
     --关闭文件
     UTL_FILE.fclose(inputfile);
     exception
       when no_data_found then dbms_output.put_line(‘文件末尾!‘);
end;

Oracle笔记 十四、查询XML操作、操作系统文件