在 oracle 中运行字符串作为查询

2023-12-09

我在 Oracle 中遇到了一个小问题。我尝试创建一个序列,用于在已包含数据的表中生成 ID。我尝试使用以下匿名块。

declare y varchar2(2000);
BEGIN
  SELECT 'CREATE SEQUENCE ID_SEQ MINVALUE 1 MAXVALUE 9999999999 START WITH ' || (max(ID)+1) || ' INCREMENT BY 1 CACHE 20;' INTO y FROM TEST_TABLE;
  --dbms_output.put_line(y);
  execute immediate y;
end;

我收到以下错误:

Error report:
ORA-00911: invalid character
ORA-06512: at line 5
00911. 00000 -  "invalid character"

如果我执行 y 变量的值,它就可以正常工作。我使用 SQL Developer 作为输入界面并在 11g r2 Oracle 服务器上工作。我发现类似的代码,其中“INCRMENT BY”参数是由脚本生成的。有人可以解释我的错误吗?


当你execute immediate,您运行的命令末尾不应有分号;这是 SQL Developer 中的命令分隔符(以及SQL*Plus和其他客户端),不是 SQL 语句本身的一部分。

SELECT 'CREATE SEQUENCE ID_SEQ MINVALUE 1 MAXVALUE 9999999999 START WITH '
    || (max(ID)+1) || ' INCREMENT BY 1 CACHE 20' INTO y FROM TEST_TABLE;

这显示在普通 SQL 的示例。只是为了让您感到困惑,如果您在动态 SQL 中使用 PL/SQL,您仍然需要适合 PL/SQL 本身的分号 - 尽管不需要执行/您可以直接从客户端运行它。这显示在其他例子.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 oracle 中运行字符串作为查询 的相关文章

  • CREATE TABLE 和 CREATE ANY TABLE 权限之间的区别

    我不明白这两种特权之间的区别 我找到了这两个解释 但这对我没有帮助 CREATE TABLE gt Enables a user to create a table owned by that user CREATE ANY TABLE g
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • 使用 xmlagg 时出现子查询错误和太多值

    我在连接许多大型表中的所有数据时遇到问题 我昨天对此提出了问题 但不幸的是 listagg 似乎不是一个好的选择 链接子查询返回多行 https stackoverflow com questions 54651144 subquery r
  • oracle中的区间函数

    Query SELECT INTERVAL 300 month INTERVAL 54 2 year to month INTERVAL 11 12 10 1234567 hour to second FROM DUAL 上述查询的输出是
  • PLSQL 中的时区转换

    我需要将系统日期和时间转换为特定时区 例如东部时间 我无法假设我当前的时区 如何在plsql中转换它 请帮我 假设你有一个TIMESTAMP WITH TIME ZONE 例如systimestamp 您可以使用AT TIME ZONE句法
  • 嵌入定义绑定变量的 Oracle PL/SQL 代码的 Shell 脚本

    如果我运行下面的脚本 我会收到错误SP2 0552 未声明绑定变量 OUTRES 那么 如何定义绑定变量OUTRES以及在哪里定义呢 usr bin bash sqlplus s scott tiger lt lt EOF declare
  • 将交易数据从时间和状态列标准化为每个状态值的分钟数

    我有一个用户状态变化表 例如 insert time status 1 1 2017 0 00 AVAILABLE 1 1 2017 0 15 BUSY 1 1 2017 0 30 NOT AVAILABLE 1 1 2017 1 30 A
  • Oracle Text 包含单字符索引搜索不起作用

    我有一个名为 index search 的简单表 创建如下 BEGIN ctx ddl create preference my pref BASIC WORDLIST ctx ddl set attribute my pref SUBST
  • Oracle DB & SQL Developer:“错误报告:执行已完成,但有警告” - 如何*查看*该警告?

    我正在设置一个本地 Oracle 11g 数据库 我们已经运行的另一个数据库的克隆 我正在 SQL Developer 中运行一堆生成的 PL SQL 命令 我得到输出 Error starting at line x in command
  • ORACLE SQL 中的 MAX()

    我有一个表 存储已完成的维护任务的记录列表以及完成的日期和时间 我正在尝试执行子查询来提取具有最新日期的每个任务的记录 我的SQL语句是 SELECT ENGINEERING COMPLIANCE EO AS EO ENGINEERING
  • Oracle sqlldr是否并行处理多个INFILE

    我正在使用 sqlldr 将数据加载到 Oracle RAC 在 Linux 上 并且我正在尝试提高数据加载的性能 我正在使用 直接路径 并且为 sqlldr 设置了 parallel true 而且 由于我的服务器是多核的 所以默认情况下
  • R 版本 4.0.0 上的 ROracle

    当尝试使用 ROracle 时 我收到以下错误消息 gt library ROracle Error package or namespace load failed for ROracle package ROracle was inst
  • java.sql.SQLException: - ORA-01000: 超出最大打开游标数

    我收到 ORA 01000 SQL 异常 所以我有一些与之相关的疑问 最大打开游标是否与 JDBC 连接数完全相关 或者它们也与我们为单个连接创建的语句和结果集对象相关吗 我们正在使用连接池 有没有办法配置数据库中语句 结果集对象的数量 如
  • oracle查找两个表之间的差异

    我有两个结构相同的表 一个是临时的 另一个是产品的 每次都会加载整个数据集 有时该数据集会从先前的数据集中删除记录 我首先将数据集加载到临时表中 如果删除了任何记录 我也想从产品表中删除它们 那么如何找到prod中存在但temp中不存在的记
  • 我怎样才能等到所有调度程序作业完成?

    我是我的包裹 我正在排队多个作业 如下所示 dbms scheduler create job job name gt p job name job type gt PLSQL BLOCK job action gt p sql code
  • 如何从 Oracle 中获取格式化的 XML

    我对 Oracle 缺乏经验 并且在将数据导出为 XML 时遇到问题 我已经设法让这个查询正常工作 但 XML 的格式似乎是固定的 对我来说不起作用 这是查询 SELECT value em getClobVal AS output FRO
  • 如何查看授予其他用户的架构哪些权限

    考虑这种情况 在数据库中 我有两个用户 A 和 B 及其相应的架构 我想知道 如何获取信息 架构 B 中的用户 A 有哪些权限 考虑这种情况 我们有两个用户及其关联的场景 我们有用户A和用户B 在A中 假设我们有TB1 TB2 在B中 假设
  • 在 Oracle 过程中实现多线程

    我正在研究 Oracle 10gR2 这是我的问题 我有一个程序 我们称之为 proc parent 在包内 应该调用另一个过程 让我们调用它 用户创建 我得打电话 用户创建 在一个循环中 它从表中读取一些列 并且这些列值作为参数传递给 用
  • 到底什么是序列?

    蟒蛇docs https docs python org 3 glossary html term sequence有点模棱两可 sequence 一个可迭代对象 支持通过以下方式使用整数索引进行有效的元素访问 getitem 特殊方法并定
  • 当网站停止时,Oracle 数据提供程序会固定 IIS 工作进程

    我们在 Oracle 11g 第 2 版中遇到了一个严重的问题 其中 w3wp 进程接管了整个处理器核心 并且调试显示 Oracle 数据提供程序无限地抛出 ThreadAbortException 开发人员通过执行以下操作发现了此问题 1

随机推荐