找到 34423 篇文章 关于编程

如何在 Oracle 中使用直接路径插入技术优化 INSERT 语句?

Kiran P
更新于 2020-12-04 10:46:58

2K+ 阅读量

问题陈述:您正在执行 INSERT 语句,并且其执行速度比预期慢。您希望优化 INSERT 语句。解决方案:通过在 INSERT 语句中使用 APPEND 或 APPEND_VALUES 提示,我们可以显著加快在数据库上执行插入操作的过程。以下是用 APPEND 提示节省性能的示例。未优化的 SQLINSERT INTO students SELECT * FROM students_bkp;输出-- 创建了 22141998 行。已用时:00:03:11.21 ------------------------------------------------- | Id  | 操作                | 名称         | ------------------------------------------------- |   0 | INSERT 语句     ... 阅读更多

如何在 Oracle 中执行模式注册和 XML 验证?

Kiran P
更新于 2020-12-04 10:45:21

1K+ 阅读量

问题陈述:您希望在存储在数据库中的 XML 数据上强制执行 XML 模式有效性。解决方案:Oracle 提供 DBMS_XMLSCHEMA.REGISTERSCHEMA 函数来在 Oracle 数据库中定义 XML 模式。为了验证生成的 xml 数据,我们需要注册模式。在注册模式时,格式必须与生成的 xml 格式匹配,或者根据您希望生成 xml 的方式注册模式。注册提供了两个关键特性。首先,它允许 Oracle 识别它可以从中获取模式的外部位置或位置。其次,也是最重要的,REGISTERSCHEMA 解析模式以检查语法正确性 ... 阅读更多

如何生成包含嵌套值的 XML?

Kiran P
更新于 2020-12-04 10:43:13

1K+ 阅读量

问题陈述:您希望生成一个复杂的 XML 文档,并在不同级别嵌套值。解决方案:Oracle 具有相当数量的函数和过程,用于从常规数据生成 XML。为了演示用法,我将使用 studentdata。我们将假设我们希望使用学生的 student_id 作为根元素的 XML 属性,并添加有关费用的详细信息,指定付款期限作为属性,并添加货币详细信息。Oracle 函数 XMLROOT、XMLELEMENT 和 XMLATTRIBUTE 提供对所需 XML 结构的完全控制。XMLROOT 提供必要的 XML 标头以将我们的结果转换为 ... 阅读更多

如何在 Oracle 中从 XML 文档中提取关键 XML 元素?

Kiran P
更新于 2020-12-04 10:42:05

6K+ 阅读量

问题陈述:您需要从 XML 文档中提取一部分/子集的元素值。解决方案:我们可以利用 Oracle 的 EXTRACT 函数,该函数支持 XMLTYPE 数据类型。EXTARCT 函数通过将结果作为 XMLTYPE 值返回,从而能够保留 XML 元素名称和属性结构。假设,我们在一个表 tmp_xml_gen 中有以下 XML,我们想从中提取客户姓名。示例       134     taylor.cauchon@internalmail     Taylor Cauchon                   921         COMPLETE               ... 阅读更多

如何提取 XML 数据以供关系使用?

Kiran P
更新于 2020-12-04 10:40:47

547 阅读量

问题陈述:您需要从 XML 文档中提取各个元素值。解决方案:Oracle 提供 XMLTABLE 函数,使用 XQuery 和列映射到 Oracle 数据类型来操作 XML 文档。使用 XMLTABLE,我们可以以关系的方式识别和使用 XML 文档中的数据元素。假设,以下 XML 文档存储在表 tmp_xml_gen 中,我们想从中提取元素。我们有客户详细信息以及订单相关信息。示例       134     taylor.cauchon@internalmail     Taylor Cauchon                   921     ... 阅读更多

如何在 Oracle 中将 XML 数据存储到表中?

Kiran P
更新于 2020-12-04 10:39:36

2K+ 阅读量

问题陈述:您需要将本机 XML 数据存储到数据库中的关系表中。解决方案:Oracle 有几种存储 XML 文档的方法。一种存储数据的方法是,我们的 XML 不需要更改,或者可以使用 XSLT 提取 XML 的一部分,即使用 XMLTYPE 数据转换。我们将使用 XMLTYPE 调用将提供的文本转换为 XMLTYPE 数据类型。在后台,Oracle XMLTYPE 支持 CLOB 数据类型,因为 XML 在内部存储为 CLOB。这意味着我们可以使用相同的方法进行转换,将调用传递给 XMLTYPE 字符串 ... 阅读更多

如何在 Oracle 中将 SQL 数据转换为 XML?

Kiran P
更新于 2020-12-04 10:37:09

1K+ 阅读量

问题陈述:您需要将存储在数据库中的传统形式的数据转换为 XML 文档。解决方案:Oracle 有许多不同的函数可用于将数据转换为 XML 格式。Oracle 提供的一些用于将关系数据转换为 XML 的函数是 SYS_XMLGEN、DBMS_XMLGEN 和 XMLELEMENT 函数。我们将使用 SYS_XMLGEN 将行转换为 XML。SYS_XMLGEN 函数根据一行/多行或类似行的表达式返回 XML 块。SYS_XMLGEN 可以将文字值、单个列或用户定义类型作为输入参数。我们将从学生的 student 记录数据创建 XML。我们将从 ... 阅读更多

如何在 Oracle 中编写一个通用过程来查找和删除任何表和列中的重复项?

Kiran P
更新于 2020-12-04 10:35:34

558 阅读量

问题陈述:您希望编写一个通用过程来查找和删除 Oracle 中任何表和列中的重复项。解决方案:我们可以使用 Oracle 的内部 ROWID 值来唯一地识别表中的行,以及带有分区子句的 OLAP 函数 row_number。实现此目的的示例语法如下所示。delete from table where rowid in   (... 这里查询 ...)为了演示用法,我们将首先创建示例数据。示例-- 包含网球运动员排名的表 DROP TABLE atp_stats; CREATE TABLE atp_stats ( player_rank NUMBER NOT NULL,   player_name VARCHAR2(100) NOT NULL,   time_range  TIMESTAMP(6)); -- 示例记录 ... 阅读更多

如何在 Oracle 中查找和删除表中的重复项?

Kiran P
更新于 2020-12-04 10:33:21

833 阅读量

问题陈述:您希望查找并删除 Oracle 中表中的重复项。解决方案:我们可以使用 Oracle 的内部 ROWID 值来唯一地识别表中的行。实现此目的的示例语法如下所示。delete from table where rowid in   (... 这里查询 ...)为了演示用法,我们将首先创建示例数据。示例-- 包含网球运动员排名的表 DROP TABLE atp_stats; CREATE TABLE atp_stats ( player_rank NUMBER NOT NULL,   player_name VARCHAR2(100) NOT NULL,   time_range  TIMESTAMP(6)); -- 示例记录 INSERT INTO atp_stats VALUES (1, 'ROGER FEDERER', CURRENT_TIMESTAMP); INSERT INTO atp_stats VALUES (2, 'RAFAEL NADAL', ... 阅读更多

如何在执行之前验证 Oracle 动态 SQL 的语法?

Kiran P
更新于 2020-12-04 10:31:30

2K+ 阅读量

问题陈述:您希望在执行之前验证 SQL 的语法。解决方案:DBMS_SQL 默认包允许动态执行 SQL。它由 SYS 拥有,并使用 AUTHID CURRENT_USER 关键字定义,因此它以调用者的权限运行。我们可以利用 DBMS_SQL.PARSE 函数来验证语法。我们首先定义一个函数,将 SQL 语句作为参数并解析 SQL 语句。/*  * ---------------------------------------------------------------------------  *  函数:check_syntax  *    输入  :sql 语句  *   输出  :数字  * ---------------------------------------------------------------------------  */    FUNCTION check_syntax     ( p_query IN CLOB ) ... 阅读更多

广告

© . All rights reserved.