• 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;
  • 相关阅读:
    Linux操作系统原理
    html标签简介(常用)
    Git常用命名
    Nuxt.js vue服务端渲染
    Sequelize 和 MySQL 对照Sequelize 和 MySQL 对照
    VScode 自定义用户代码块
    python对一个文本的解析
    API管理工具
    Flutter教程- Dart语言规范-知识点整理
    RESTful API
  • 原文地址:https://www.cnblogs.com/jx270/p/4055569.html
Copyright © 2020-2023  润新知