使用 VARCHAR2 列中的语句进行查询

2024-01-22

有没有办法将 select 语句包含在WHERE子句 包含在表中的语句?例如下表:

CREATE TABLE test_tab(
    date_column DATE,
    frequency NUMBER,
    test_statement VARCHAR2(255)
)
/

If

MOD(SYSDATE - DATE, frequency) = 0

包含在列内test_statement,有没有办法选择确实如此的行?这test_statement整个表中的值会有所不同且不相同。我能够在 PL/SQL 中执行此操作,但希望在不使用 PL/SQL 的情况下执行此操作。


SQL 中的这种动态 SQL 可以使用以下命令创建DBMS_XMLGEN.getXML。尽管查询看起来有点奇怪,所以您可能需要考虑不同的设计。

首先,我使用您的 DDL 创建了一个示例表和行。我不确定您到底想对这些条件做什么,所以我将它们简化为条件更简单的两行。第一行与第一个条件匹配,没有一行与第二个条件匹配。

--Create sample table and row that matches the condition.
CREATE TABLE test_tab(
    date_column DATE,
    frequency NUMBER,
    test_statement VARCHAR2(255)
)
/

insert into test_tab values(sysdate, 1, 'frequency = 1');
insert into test_tab values(sysdate, 2, '1=2');
commit;

这是一个大型查询,它仅返回第一行,该行仅与第一个条件匹配。

--Find rows where ROWID is in a list of ROWIDs that match the condition.
select *
from test_tab
where rowid in
(
    --Convert XMLType to relational data.
    select the_rowid
    from
    (
        --Convert CLOB to XMLType.
        select xmltype(xml_results) xml_results
        from
        (
            --Create a single XML file with the ROWIDs that match the condition.
            select dbms_xmlgen.getxml('
                select rowid
                from test_tab where '||test_statement) xml_results
            from test_tab
        )
        where xml_results is not null
    )
    cross join
    xmltable
    (
        '/ROWSET/ROW'
        passing xml_results
        columns
            the_rowid varchar2(128) path 'ROWID'
    )
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 VARCHAR2 列中的语句进行查询 的相关文章

  • 将 python 列表存储到数据库的最佳方法?

    将 python 数字列表 例如 4 7 10 39 91 存储到数据库的最佳方法是什么 我使用 Pyramid 框架和 SQLAlchemy 与数据库进行通信 Thanks 您可以使用json http docs python org l
  • 如何使 cx-oracle 将查询结果绑定到字典而不是元组?

    这是我的代码 我想找到一种方法将查询结果作为字典列表而不是元组列表返回 看起来 cx oracle 通过部分文档讨论 绑定 来支持这一点 虽然我不知道它是如何工作的 def connect dsn cx Oracle makedsn hos
  • 使用 Oracle 数据库的 JOIN 语法进行更新

    首先 我执行以下 SQL 语句 drop table names drop table ages create table names id number name varchar2 20 insert into names values
  • 使用 LINQ 的 Silverlight 客户端数据库

    我正在创建一个浏览器外 silverlight 应用程序 并希望在客户端有一个数据库 我看过 sqlite 但似乎它不适用于 silverlight 如果我能使用 LINQ 那就太好了 我更喜欢免费的解决方案 但付费始终是一种选择 有什么建
  • 为什么Aries在数据库管理恢复中要先执行redo before undo?

    如果 Aries 算法已经知道在分析阶段之后要撤消哪些事务 为什么它会在撤消之前应用重做 我知道 认为 这与 Lsn 数字和维护一致性有关 因为在磁盘上刷新的数据撤消事务可能与崩溃时撤消事务不同 由于脏数据 页 但我找不到这个问题的任何 正
  • 如何在 PL/SQL 中查找字符串中不同字符的数量和名称[重复]

    这个问题在这里已经有答案了 我对 PL SQL 很陌生 我需要获取字符串中不同字符的名称和计数 例如 如果我有一个字符串str helloexample 我需要获得不同字符的输出str i e heloxamp 我怎样才能做到这一点 您可以
  • 创建 MySQL 用户时使用 % 表示主机

    我的 MySQL 数据库需要两个用户 appuser 和 support 一位应用程序开发人员坚持要求我为这些用户创建四个帐户 appuser appuser localhost support support localhost 我一生都
  • 转换不同世纪的日期

    我有暂存表 其中包含格式为 mm dd yy 的字符串形式的日期 我有 Oracle 11g 程序在加载到主表之前将字符串转换为日期格式 我在用着to date 03 20 34 mm dd rr 转换为日期格式 输出错误为 03 20 2
  • 如何获取sql server 2005中数据库连接的详细列表?

    如何获取sql server 2005中数据库连接的详细列表 使用系统存储过程sp who2
  • Oracle 时间戳数据类型

    不带参数的时间戳数据类型和带参数 0 的时间戳数据类型有什么不同 timestamp VS timestamp 0 括号中的数字指定要存储的小数秒的精度 所以 0 意味着不存储任何一小部分秒 而仅使用整秒 如果未指定 则默认值为小数点分隔符
  • oracle嵌套表的最大行数是多少

    CREATE TYPE nums list AS TABLE OF NUMBER Oracle 嵌套表中最大可能的行数是多少 UPDATE CREATE TYPE nums list AS TABLE OF NUMBER CREATE OR
  • 是否可以在MySQL UDF中的IF条件中声明游标

    我可以在 if 语句中声明游标吗 如果可能的话我怎样才能做到 因为我刚刚做了这样的光标 CREATE FUNCTION fn test ProductID BIGINT 20 RETURNS DECIMAL 10 2 BEGIN DECLA
  • 猫鼬查找并删除

    我正在尝试删除满足查询的多个文档 但是 我需要这些文档的数据将它们存储在单独的集合中以实现撤消功能 我让它工作的唯一方法是使用多个查询 Data find query exec function err data Data remove q
  • Oracle 事务在 C++ 和 Java 之间的传播

    我们有一个现有的 C 应用程序 我们将逐步将其替换为新的基于 Java 的系统 在我们用 Java 完全重新实现所有内容之前 我们期望 C 和 Java 必须相互通信 RMI SOAP 消息传递等 我们尚未决定 现在我的经理认为我们需要 J
  • 运行 Sqoop 导入和导出时如何找到最佳映射器数量?

    我正在使用 Sqoop 版本 1 4 2 和 Oracle 数据库 运行 Sqoop 命令时 例如这样 sqoop import fs
  • JPA 乐观锁与同步 Java 方法

    使用 JPA 乐观锁定 我们可以通过 Version 字段控制数据库表是否已被另一个事务同时更新 从而允许在数据库中存储可靠的数据 如果一个Java应用程序只有一个CRUD服务负责数据库中的特定实体 我们也可以同步其方法并管理信息在数据库中
  • 如何查看任意 Oracle 会话正在使用的事务隔离级别

    我试图找出特定会话 不是我自己的会话 在 Oracle 服务器上的隔离级别 有 v 视图可以得到这个吗 您可以在中测试位 28flag列于v transaction 1 http forums oracle com forums threa
  • Delphi XE5 FireDAC 错误:无法加载供应商库 [libmysql.dll 或 libmysqld.dll]

    我在 Windows 7 64 位上使用 Delphi XE5 只是尝试 FireDAC 组件 我正在使用一个 TFDConnection 组件连接到本地 MySQL 数据库 v5 6 15 我已经将 libmysql dll 32位 v5
  • Oracle中如何选择前100行?

    我的要求是获取每个客户的最新订单 然后获取前100条记录 我编写了一个如下查询来获取每个客户的最新订单 内部查询工作正常 但我不知道如何根据结果获得前 100 名 SELECT FROM SELECT id client id ROW NU
  • mysql 中 INSERT 语句的计算列

    假设我想要一个表来记录其他表中的日期和列数 或者任何类型的数学 字符串连接等 CREATE TABLE log id INTEGER NOT NULL AUTO INCREMENT date DATETIME NOT NULL count

随机推荐

  • 修剪字符串中的多个换行符和多个空格?

    如何修剪多个换行符 例如 text similique sunt in culpa qui officia deserunt mollitia animi id est laborum et dolorum fuga Et harum qu
  • Scrapy FormRequest 登录不起作用

    我正在尝试使用 Scrapy 登录 但收到大量 重定向 302 消息 当我使用真实登录信息以及虚假登录信息时 就会发生这种情况 我也尝试过另一个网站 但仍然没有成功 import scrapy from scrapy http import
  • JavaFX 初始化方法中的 NullPointerException

    我有控制器 我尝试从电子邮件服务器获取 INBOX 文件夹 下载下来就一切正常了 我可以将此数据 电子邮件主题 发件人 日期 放入 TableView 中 但是 仅当我等待负责在 TableView 中设置此数据的线程时 代码 The ta
  • 计算 iPhone 和门之间的距离,了解它们的物理宽度

    我有这样的场景 我知道 iPhone 屏幕的物理 不仅仅是像素 尺寸 我还知道门的宽度 现在 如果我打开 iPhone 摄像头 使用 UIImagePicker 或其他 并且我处于门的宽度完全适合摄像头宽度的位置 并且 iPhone 完全垂
  • 如何从 .jar 文件引用 .dll

    我有一个应用程序 它使用 jar 中的方法来调用 dll 这在我的机器上工作得很好 当应用程序解包或作为 jar 本身运行时 但是当 application jar 在另一台机器上运行时 外部 dll 位于系统路径上 它无法运行 dll 文
  • 我应该重载 == 运算符吗?

    如何 运算符在 C 中真的起作用吗 如果它用于比较类的对象A 它会尝试匹配所有A的属性 还是会寻找指向同一内存位置 或者可能是其他位置 的指针 让我们创建一个假设的例子 我正在编写一个利用 Twitter API 的应用程序 它有一个Twe
  • 使用生成器解析 fasta 文件( python )

    我正在尝试解析一个大的 fasta 文件 但遇到内存不足错误 一些改进数据处理的建议将不胜感激 目前 程序正确打印出名称 但是部分通过文件我得到了 MemoryError 这是发电机 def readFastaEntry fp name s
  • 如何在 iPhone 上将 sqlite ReadOnly 更改为 ReadWrite?

    我将我的应用程序部署到我的 iPhone 上并得到 Unknown error calling sqlite3 step 8 attempt to write a readonly database eu关于插入 更新语句 在模拟器上一切都
  • 如何设置 pageToken 以通过 Java SDK 从 Google Cloud Storage 获取项目列表?

    我想设置 pageToken 以获取存储在 Google Cloud Storage 中的项目 我正在使用适用于 Java v1 19 x 的 Google API 客户端库 我不知道从文件路径 或文件名 生成 pageToken 存储桶中
  • SQl 从表中删除前 100 条

    我正在尝试删除表中除最近 3 000 个项目之外的所有项目 该表有 105 000 条记录 我正在尝试此操作 但生成了错误的语法错误 delete tRealtyTrac where creation in select top 10300
  • 列出 iPhone 上本地网络上的所有计算机名称

    有没有办法在 iPhone 上的表格视图中获取并显示本地网络上的计算机名称 包括 IP 地址 列表 所有电脑包括mac windows linux等 提前致谢 您需要执行的操作分为两部分 扫描本地网络以查找所有活动主机并对其 IP 地址进行
  • 值未显示在选择按钮中

    我试图在选择按钮中获取选项 但它没有显示 我的代码如下 索引 html
  • 我如何获得在 ASP.NET MVC 表单中定义 n 次的值?

    我有一个表单 用户使用添加另一个文本框并填写它们来填写信息 n 次 我把它们命名为 textbox 1 textbox 2 现在我如何获取以 textbox 1 开头的所有表单值 任何想法在 ASP NET MVC 中做到这一点 您可以使用
  • 如何使用 C++ 列出 Windows 中的子目录?

    如何使用 C 列出 Windows 中的子目录 使用可以跨平台运行的代码会更好 这是我的问题解决方案 但它是仅限 Windows 的解决方案 我想使用跨平台解决方案 但不使用 boost include
  • 反射获取FieldInfo对象的类型?

    大家好 我需要访问课程某类声明的 Wrapper 类中有一个私有字段 到目前为止 使用反射我已经能够获取私有字段成员 我如何将其转换回其原始类型 以便我可以访问它的属性和其他成员 internal class Program private
  • 架构更改后 Firedac 查询字段列表未更新

    我正在 SQL 中创建一个临时表 然后向其中添加一个新字段 Firedac 似乎正在缓存该临时表的字段列表 以下代码给出 FDQuery5 未找到字段 可用 FDQuery5 Connection FDConnection1 FDConne
  • 正确使用session_set_cookie_params

    我正在尝试实现一个具有 记住我 功能的登录系统 这是我的登录页面 http pastebin com q6iK0Mgy http pastebin com q6iK0Mgy 在此 我尝试使用 session set cookie param
  • Django 无法使用原子事务的 try-exception 块回滚

    我在 Django 中的视图之一对 6 7 个表执行保存操作 我希望这些事务是原子的 即如果第五个或第六个事务失败 我想回滚所有以前的保存 该视图包含一个 try except 块来处理引发的异常 它看起来像这样 transaction a
  • 与 pip install 相比,pipenv install 有什么区别?

    使用有什么区别pipenv install
  • 使用 VARCHAR2 列中的语句进行查询

    有没有办法将 select 语句包含在WHERE子句 包含在表中的语句 例如下表 CREATE TABLE test tab date column DATE frequency NUMBER test statement VARCHAR2