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;
时间: 2024-10-30 20:47:33

Oracle笔记 十四、查询XML操作、操作系统文件的相关文章

Oracle笔记(四) 简单查询、限定查询、数据的排序

Oracle笔记(四) 简单查询.限定查询.数据的排序 一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统.ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言. Oracle数据库之所以发展的很好,主要也是因为Oracle是全世界最早采用SQL语句的数据库产品. SQL功能强大,概括起来,它可以分成以下几组: DML(Data Manipulation La

QT开发(二十四)——QT文件操作

QT开发(二十四)--QT文件操作 一.QT文件操作简介 QT中的IO操作通过统一的接口简化了文件与外部设备的操作方式,QT中文件被当作一种特殊的外部设备,文件操作与外部设备操作相同. 1.IO操作的主要函数接口 打开设备:bool open(OpenMode mode) 读取数据:QByteArray read(qint64 maxSize) 写入数据:qint64 write(const QByteArray & byteArray) 关闭设备:void close() IO操作的本质是连续

Oracle学习(十四):管理用户安全

--用户(user) SQL> --创建名叫 grace 密码是password 的用户,新用户没有任何权限 SQL> create user grace identified by password; 验证用户: 密码验证方式(用户名/密码) 外部验证方式(主机认证,即通过登陆的用户名) 全局验证方式(其他方式:生物认证方式.token方式) 优先级顺序:外部验证>密码验证 --权限(privilege) 用户权限有两种: System:允许用户执行对于数据库的特定行为,例如:创建表.

laravel3学习笔记(十四)

原作者博客:ieqi.net ==================================================================================================== 运行时配置 在 Laravel3 中很多地方我们都可以看到“约定大于配置”的影子,我本人也很喜欢这种工程哲学尤其是在框架领域,当然这并不能代替所有的配置.我们知道 Laravel3 中,主要配置都写在 application/config 文件夹下,在应用逻辑中,往往

swift 笔记 (十四) —— 构造过程

构造过程 为了生成类.结构体.枚举等的实例,而做的准备过程,叫做构造过程. 为了这个过程,我们通常会定义一个方法来完成,这个方法叫做构造器.当然它的逆过程,叫做析构器,用于在实例被释放前做一些清理工作以及一此自定义化的处理. 为存储型属性设置初始值 类和结构体在生成实例那一刻,必须为所有的属性赋以特定的初始值. 要么在定义存储型属性的时候直接给个初始值,否则就必须在构造器里面指定一个初始值. 上面说的这两种情况,都不会触发存储型属性的监听者行为(property observer). struc

Swift学习笔记十四:构造(Initialization)

类和结构体在实例创建时,必须为所有存储型属性设置合适的初始值.存储型属性的值不能处于一个未知的状态. 你可以在构造器中为存储型属性赋初值,也可以在定义属性时为其设置默认值.以下章节将详细介绍这两种方法. 注意: 当你为存储型属性设置默认值或者在构造器中为其赋值时,它们的值是被直接设置的,不会触发任何属性观测器(property observers). 一.基本语法 class Human{ var name :String init(){ name = "human" } init(n

Oracle基础笔记十四

第十四章 高级子查询 1.子查询 子查询 (内查询) 在主查询执行之前执行 主查询(外查询)使用子查询的结果 SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM  table); 问题:查询工资大于149号员工工资的员工的信息 SELECT last_name FROM   employees WHERE  salary > (SELECT salary FROM   employees WHERE

Oracle学习笔记十四 内置程序包

扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STANDARD 定义和扩展PL/SQL语言环境 DBMS_LOB 提供对 LOB数据类型进行操作的功能 DBMS_OUTPUT 处理PL/SQL块和子程序输出调试信息 DBMS_RANDOM 提供随机数生成器 DBMS_SQL 允许用户使用动态 SQL DBMS_XMLDOM 用DOM模型读写XML类型的数

爪哇国新游记之三十四----Dom4j的XPath操作

Dom4j是Java访问XML的利器之一,另一个是JDom.记得当年因为粗掌握点JDomAPI但项目要求使用Dom4j还闹一阵情绪,现在看来真是没必要,只花一些时间成本就进去一个新世界绝对是值得做的一件事.更何况JDom因无人更新而停顿了. Dom4j有两个包,一个是dom4j-1.6.1.jar,它提供基本的XML API支持,如访问节点,属性等. 还有一个是jaxen-1.1-beta-9.jar,它提供XPath支持. 言归正传,下面请看例程. 1.访问特定节点群 XML样本: <appl