- 浏览: 647987 次
- 性别:
- 来自: 石家庄
文章分类
最新评论
-
abao1:
老贾 在安装IDEA的过程中,在激活步骤时,按如下操作即可: ...
IntelliJ IDEA 2016注册方法和注册码 -
bo_hai:
./usr/bin/java: symbol lookup ...
jmagick安装步骤 -
wxcking:
不错的, 收藏一下
JAVA使用POI生成Excel文件 -
zgyfh:
大哥,密码是多少啊?zgyfh@tom.com谢谢了!新手学习 ...
WPF做的必备示例 -
记忆无泪:
jiasongmao 写道你的邮箱是多少,我可以发源代码到邮箱 ...
WPF做的必备示例
使用 XML
将数据添加到 XMLType 表和列中。 正如您可能预期到的,有很多选项可供我们将 XML 数据添加到数据库中。可以使用 SQL、PL/SQL、Java 和 C 程序插入数据。也可以使用 XMLType 表的 SQL*Loader 和 Import/Export 函数将数据加载到数据库中。可以使用 Oracle Streams 来移动 XML 数据,还可以使用 DBMS_XDB 函数。现在,就让我们来探究一个简单易用的方式来加载 XML 数据。
在本例中,我们将使用 SQL 插入将一个 XML 文档从文件加载到表中,以便从 bfile 加载该 XML 文档。该文件需要通过一个数据库目录访问。为此,我们将创建一个目录以指向存储该 XML 文档文件的文件。请注意,要执行本文中的示例,您必须确保所用用户具有 xdbadmin 角色。
create or replace directory xmldir as '/u01/app/oracle/admin/db01/sql';
现在我们可以用两种方式创建包含 XMLType 数据的表。第一个将是具有 XMLType 列的表。第二个将是定义为类型 XMLType 的表。
1. 创建一个包含 XML 列的表。
create table invoiceXML_col ( inv_id number primary key, inv_doc XMLType);
2. 创建一个 XML 表。
create table invoiceXML_tbl of XMLtype;
以上每一个语句都在每个表中隐式创建两个索引 — 一个用于主键,另一个用于 LOB。
现在我们要将一个发票文档插入到这两个表中。请注意,我们要使用字符集 AL32UTF8,并指定它传送字符集编码来供要读取的文件使用。数据将插入这两个表以显示这两个 SQL 语句间的相似性。
Insert into invoicexml_col values (1, XMLType(bfilename('XMLDIR', 'invoicexml.txt'), nls_charset_id('AL32UTF8') )); Insert into invoicexml_tbl values (XMLType(bfilename('XMLDIR', 'invoicexml.txt'), nls_charset_id('AL32UTF8')));
我们现在已经使用 XMLType 表和列将两个 XML 文档加载到了数据库中。就是这么简单。
注册和实现模式类型化数据
如果处理命名空间和存储技术不足,XMLType 数据也可以实现为模式类型化或非类型化数据。XMLSchema 可将文档与提供文档结构和内容信息的 XMLSchema 相关联。这为文档提供了更好的记录、验证和控制。该模式中的信息可用于提交更有效的查询和更新处理。XMLSchema 也允许将 XML 文档存储为结构化存储数据,因为该文档可以通过 XMLSchema 分解为一组对象。用于存储该文档的对象模型由模式定义确定。XMLType 方法 schemaValidate() 和 isSchemaValid() 允许使用模式定义编辑 XMLType 文档。
我们如何创建模式并在 XML 文档中使用它?为此,我们需要创建一个 XMLSchema 定义
- 注册该模式
- 创建一个基于 XMLSchema 的表
- 将数据插入其中
下面的示例分四步进行了说明。
1. 首先,在目录 XML_DIR 下的文件 invoiceformtest.xsd 中创建一个模式定义。该清单如下所示:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb=http://xmlns.oracle.com/xdb version="1.0"> <xs:element name="INVOICEFORMTEST" xdb:defaultTable="INVOICEFORMTEST"> <xs:complexType> <xs:sequence> <xs:element name="MailAddressTo"> <xs:complexType> <xs:sequence> <xs:element name="Person" type="xs:string"/> <xs:element name="Street" type="xs:string"/> <xs:element name="City" type="xs:string"/> <xs:element name="State" type="xs:string"/> <xs:element name="Zipcode" type="xs:string"/> </xs:sequence> <xs:attribute name="id" type="xs:string" use="required"/> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
2. 使用过程 DBMS_XMLSCHEMA.registerSchema 在数据库中注册上面的模式。您用来连接到数据库的用户名需要修改会话权限,以便该模式可以成功注册。
BEGIN DBMS_XMLSCHEMA.registerSchema( SCHEMAURL => 'http://xmlns.oracle.com/xdb/invoiceformtest.xsd', SCHEMADOC => bfilename('XMLDIR','invoiceformtest.xsd'), CSID => nls_charset_id('AL32UTF8')); END; /
要删除该模式,只需运行 DBMS_XMLSCHEMA.deleteSchema 语句,如下所示:
BEGIN DBMS_XMLSCHEMA.deleteSchema( SCHEMAURL => 'http://xmlns.oracle.com/xdb/invoiceformtest.xsd', DELETE_OPTION => dbms_xmlschema.DELETE_CASCADE_FORCE); END; /
3. 由于上面模式定义中的 xdb:defaultTable="INVOICEFORMTEST" 语句,以上语句还创建了表 invoiceformtest。没有它,将创建一个生成的名称(您不想使用该名称)。
4. 现在,我们准备将文档输入到 XML 文档内基于 XMLSchema 的表中,该文档存储在 XML_DIR 中并使用实现的模式指定的格式。
Insert into invoiceformtest values (XMLType(bfilename('XMLDIR', 'invoiceformtest.txt'), nls_charset_id(' AL32UTF8')));
来看一下我们刚刚使用 XML 文档上的 object_value pseudocolumn 创建的内容。
SQL> select object_value from invoiceformtest;
OBJECT_VALUE
<INVOICEFORMTEST>
<MailAddressTo id="1">
<Person>Joe Smith</Person>
<Street>10 Apple Tree Lane</Street>
<City>New York</City>
<State>NY</State>
<Zipcode>12345</Zipcode>
</MailAddressTo>
</INVOICEFORMTEST>
完成!
发表评论
-
Oracle11g客户端安装与配置
2018-07-31 00:02 1153资源 下载资源,直接解压进行配置 Ora ... -
史上最全的MSSQL复习笔记
2015-09-10 10:49 367转自博客园,地址:http://www.cnblogs ... -
通过命令附加数据库
2013-08-06 20:06 777通过T-SQL附加数据库的命令为: CREATE DATA ... -
sql server 使用系统表查询数据库表结构信息
2012-08-06 14:38 820SELECT 表名 = Case Wh ... -
SqlServer里DateTime转字符串
2012-07-21 09:14 813Select CONVERT(varchar(100), GE ... -
删除重复数据,只保留一条
2012-03-01 15:27 0SQL:删除重复数据,只保留一条2009-08-20 17:1 ... -
压缩数据库日志文件(存储过程)
2012-02-14 15:48 880USE master GO SET ANSI_NULLS ... -
SQLite学习手册(数据表和视图)
2012-02-13 10:38 1461一、创建数据表: 该命令的语法规则和使用方式与大多数 ... -
判断触发器的类型:insert update delete
2011-04-17 14:44 1356在一个触发机制包含为insert update delete的 ... -
sql server获取sql语句执行的毫秒数
2011-04-10 19:13 3060写程序的人,往往需要分析所写的SQL语句是否已经优化过了,服务 ... -
SQL Server里面可能经常会用到的日期格式转换方法
2011-04-10 18:46 758select convert(varchar(10),getd ... -
SQL Server系统表
2011-04-10 17:17 797SQL Server系统表 SQL Server ... -
oracle操作xml笔记四
2010-09-07 12:58 3774使用 fn:doc 和 fn:collection 函数在 ... -
oracle操作xml笔记三
2010-09-07 12:58 2487了解 XQuery 函数和表达式 XQuery 是 W ... -
oracle操作xml笔记一
2010-09-07 12:55 1962声明:该文章源于oracle官网 ,经博文只是对其进行了梳理 ... -
在 Oracle 中使用正则表达式
2010-09-07 09:21 980Oracle使用正则表达式离不开这4个函数: 1。regex ... -
110个Oracle常用函数整理汇总
2010-09-07 09:15 10491. ASCII 返回与指定的 ... -
oracle查看被锁的表以及如何解除锁定
2010-09-02 12:25 1937-------------查询被锁的表 select o ... -
转一篇很详细的 Oracle的日期函数
2010-08-24 12:35 994Oracle的日期函数 ... -
Oracle语句优化53个规则详解
2010-08-11 12:43 815Oracle语句优化53个规 ...
相关推荐
达内学习的笔记,包含corejava oracle jdbc xml内容,包含老师讲的大部分内容,可以参考学习哦
oracle培训笔记 XML第一课备课(XML基础)笔记 Oracle第五课(作用于多行的函数)备课笔记
Oracle 入门文档 Oracle笔记 一、oracle的安装、sqlplus的使用 Oracle笔记 二、常用dba命令行 Oracle笔记 三、function 、select Oracle笔记 四、增删改、事务 ...Oracle笔记 十四、查询XML操作、操作系统文件
Oracle 入门文档 Oracle笔记 一、oracle的安装、sqlplus的使用 Oracle笔记 二、常用dba命令行 Oracle笔记 三、function 、select Oracle笔记 四、增删改、事务 ...Oracle笔记 十四、查询XML操作、操作系统文件
Oracle9i备课笔记——吕海东 第1讲 Oracle9i简介 目的: 1. 了解数据库的发展,关系数据库的基本原理。 2. 了解目前市场上流行的数据库产品及特点 3. 了解Oracle数据库的发展 4. 掌握Oracle9i产品系列 5. 掌握Oracle...
内容很多,包含达内大部分笔记,如果你感到哪里不足,请留言,我继续补充。 目录如下 ├─xml ├─struts ├─spring │ ├─spring-note │ └─spring-day2PM │ ├─exec │ ├─aop3 │ ├─aop2 │ └─aop1 ├...
课程 java语言 java基本编程 -> j2EE编程 数据库的能力 sqlserver -> ORACLE 数据结构 训练编程思维方式 实际问题到计算机问题的转化 ... j2EE + XML + ORACLE/SQLSERVER 基础 java html javascript sql
1、activiti 5.8 oracle10g demo安装笔记.txt 2、关键配置文件附件: build.db.properties build.properties build.xml oracle.data.sql
这个是我在学习corejava oracle jdk5.0 xml 时候整理出来的笔记,内有各项实验源代码,稍微有几个故意错误的地方,大家学习的同时望找出来哦~
Java相关课程系列笔记之二Oracle学习笔记(建议用WPS打开) Java相关课程系列笔记之九Servlet学习笔记(建议用WPS打开) Java相关课程系列笔记之六HTML学习笔记(建议用WPS打开) Java相关课程系列笔记之七CSS学习...
课程安排 linux操作系统 4天 数据结构 5天 DOTNET介绍 4天 ORACLE ORACLE数据库 10天 XML语言 5天 J2EE JSP/servlet 12天 EJB 3天 struts 4天
severlet jsp 分页 ajax等技术的笔记
Unix 学习笔记 ...XML 学习笔记 Oracle 学习笔记 JDBC 学习笔记 Hibernate 学习笔记 HTML&JavaScript 学习笔记 Servlet 学习笔记 JSP 学习笔记 Struts 学习笔记. Ajax 学习笔记 EJB 学习笔记 Spring 学习笔记
我有全手套的java相关技术的笔记,超级好。如: 1_unix.rar; 2_corejava_tiger.rar; 3_xml.rar; 4_oracle.rar; 5_jdbc.rar; 6_hibernate.rar; 7_html.rar; 8_servlet.rar; 9_jsp.rar; 10_struts2.rar; 11_...
达内笔记(CoreJava.pdf、EJBNote.pdf、Hibernate.pdf、HTML.pdf、JDBC.pdf、JSP.pdf、Oracle SQL.pdf、Servlet.pdf、Struts.pdf、XML.pdf、分页.pdf、购物车.pdf)
包括xml oracle 线程,集合,IO操作的一些笔记和代码
非常辛苦收集的~基本上包括计算机所有的方面 c笔记,嵌入式开发,孙鑫VC学习笔记 J2EE中spring,structs,hibernate,EJB,JDBC等 ...oracle,python,XML,UML,php,asp,js Junit测试以及黑盒测试等东西
达内笔记 内有java jsp hibernate struts servlet ejb html jdbc oracle xml 分页 购物车项目
达内笔记 内有java ajax jsp hibernate struts servlet html jdbc oracle xml Javascript 等上课的笔记 感想,上课小结截图 以及上课的代码。