- 浏览: 666989 次
- 性别:
- 来自: 石家庄
文章分类
最新评论
-
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 1180资源 下载资源,直接解压进行配置 Ora ... -
史上最全的MSSQL复习笔记
2015-09-10 10:49 399转自博客园,地址:http://www.cnblogs ... -
通过命令附加数据库
2013-08-06 20:06 811通过T-SQL附加数据库的命令为: CREATE DATA ... -
sql server 使用系统表查询数据库表结构信息
2012-08-06 14:38 844SELECT 表名 = Case Wh ... -
SqlServer里DateTime转字符串
2012-07-21 09:14 879Select CONVERT(varchar(100), GE ... -
删除重复数据,只保留一条
2012-03-01 15:27 0SQL:删除重复数据,只保留一条2009-08-20 17:1 ... -
压缩数据库日志文件(存储过程)
2012-02-14 15:48 906USE master GO SET ANSI_NULLS ... -
SQLite学习手册(数据表和视图)
2012-02-13 10:38 1520一、创建数据表: 该命令的语法规则和使用方式与大多数 ... -
判断触发器的类型:insert update delete
2011-04-17 14:44 1398在一个触发机制包含为insert update delete的 ... -
sql server获取sql语句执行的毫秒数
2011-04-10 19:13 3096写程序的人,往往需要分析所写的SQL语句是否已经优化过了,服务 ... -
SQL Server里面可能经常会用到的日期格式转换方法
2011-04-10 18:46 790select convert(varchar(10),getd ... -
SQL Server系统表
2011-04-10 17:17 825SQL Server系统表 SQL Server ... -
oracle操作xml笔记四
2010-09-07 12:58 3845使用 fn:doc 和 fn:collection 函数在 ... -
oracle操作xml笔记三
2010-09-07 12:58 2554了解 XQuery 函数和表达式 XQuery 是 W ... -
oracle操作xml笔记一
2010-09-07 12:55 2012声明:该文章源于oracle官网 ,经博文只是对其进行了梳理 ... -
在 Oracle 中使用正则表达式
2010-09-07 09:21 1014Oracle使用正则表达式离不开这4个函数: 1。regex ... -
110个Oracle常用函数整理汇总
2010-09-07 09:15 11201. ASCII 返回与指定的 ... -
oracle查看被锁的表以及如何解除锁定
2010-09-02 12:25 1978-------------查询被锁的表 select o ... -
转一篇很详细的 Oracle的日期函数
2010-08-24 12:35 1029Oracle的日期函数 ... -
Oracle语句优化53个规则详解
2010-08-11 12:43 856Oracle语句优化53个规 ...
相关推荐
"达内corejava+Oracle+JDBC+XML笔记"这份资料涵盖了Java开发的核心部分,对于初学者或者希望巩固基础的开发者来说,是一份宝贵的资源。CoreJava笔记可能包括了类和对象的创建、继承、封装、多态等OOP原则,以及集合...
在"Oracle培训笔记2"中,我们可以看到一系列的课程涵盖了XML基础和多行函数的应用,这些都是Oracle数据库管理和开发中的关键知识点。 XML(可扩展标记语言)在Oracle中的应用非常广泛,特别是在数据交换和存储非...
7. **XML支持**:Oracle 9i对XML的处理能力得到提升,内置了XML DB,可以直接存储和查询XML文档,提高了数据交换和集成的能力。 8. **数据整合**:通过Advanced Queuing(AQ)和Materialized Views,9i提供了强大的...
10. **XML支持**:Oracle内建对XML的支持,允许XML文档直接存储在数据库中,并提供了XML DB组件进行处理。 浪曦视频教程可能涵盖了这些基础概念以及更高级的主题,如数据库设计、SQL查询优化、数据库性能调优、备份...
Oracle9i备课笔记——吕海东 第1讲 Oracle9i简介 目的: 1. 了解数据库的发展,关系数据库的基本原理。 2. 了解目前市场上流行的数据库产品及特点 3. 了解Oracle数据库的发展 4. 掌握Oracle9i产品系列 5. 掌握Oracle...
### Oracle初学者笔记知识点解析 #### 一、Oracle网络通信机制与安全性 **1.1 Net8协议** - **概述**: Oracle使用Net8协议在客户端和服务器之间进行数据传输。 - **加密与解密**: 该协议支持加密功能,确保数据在...
- **XML集成**:Oracle支持XML技术,可以方便地进行数据交换和处理。 - **JSP/Servlet**:Java Server Pages 和 Servlets 是J2EE中的关键技术,用于构建动态网页。 - **EJB**:Enterprise JavaBeans 是一种组件模型...
5. **导入知识模块**:知识模块是ODI的关键,它们包含了特定操作的逻辑,通常位于安装目录下的xml-reference文件夹。 6. **新建模型**:模型定义了数据的逻辑结构,可以逆向工程从数据库中生成模型。 7. **新建接口*...
内容很多,包含达内大部分笔记,如果你感到哪里不足,请留言,我继续补充。 目录如下 ├─xml ├─struts ├─spring │ ├─spring-note │ └─spring-day2PM │ ├─exec │ ├─aop3 │ ├─aop2 │ └─aop1 ├...
通过DOM可以将XML文档视为树状结构,便于操作。 #### 14. SAX (Simple API for XML) SAX提供了一种基于事件驱动的方式来解析XML文档,适用于大文档。 #### 15. XPath XPath是一种在XML文档中查找信息的语言,它...
许多数据库系统如Oracle、IBM DB2、Microsoft SQL Server等都支持XML存储和查询。WS*(Web Services*)是一系列标准,包括WSDL(Web Services Description Language)定义服务接口,UDDI(Universal Description, ...
根据提供的信息,我们可以总结出这份“Oracle课堂笔记”主要涵盖了Oracle数据库的基础知识、安装过程以及SQL语言的基本操作。下面将详细解析这些知识点。 ### Oracle基础知识 #### Oracle简介 Oracle是一种关系型...
课程 java语言 java基本编程 -> j2EE编程 数据库的能力 sqlserver -> ORACLE 数据结构 训练编程思维方式 实际问题到计算机问题的转化 ... j2EE + XML + ORACLE/SQLSERVER 基础 java html javascript sql
2. **SQL*Plus**:作为Oracle的命令行工具,SQL*Plus用于执行SQL查询、DML(数据操纵语言)操作、DDL(数据定义语言)操作,以及PL/SQL块。它是理解Oracle数据库操作的基础。 3. **表和索引**:在Oracle中,数据...
### OracleEBS-WebService开发笔记知识点总结 #### 一、概述 **OracleEBS-WebService开发笔记** 是一份详尽的文档,旨在介绍如何利用 WebService 技术进行 Oracle E-Business Suite (EBS) 的集成开发。该文档由 ...
1、activiti 5.8 oracle10g demo安装笔记.txt 2、关键配置文件附件: build.db.properties build.properties build.xml oracle.data.sql
这个是我在学习corejava oracle jdk5.0 xml 时候整理出来的笔记,内有各项实验源代码,稍微有几个故意错误的地方,大家学习的同时望找出来哦~
- Oracle支持多种数据类型,如NUMBER(数值)、VARCHAR2(可变字符)、CHAR(固定长度字符)、DATE(日期时间)、CLOB(大对象——字符)、BLOB(大对象——二进制)等。 4. **表的创建与操作**: - 使用CREATE ...