Oracle VIEW - 列中超过 4000 字节

2024-02-25

我正在使用 SQL 语句的这一部分从 N:N 关系中获取信息。

目标是获得一个包含如下列的视图:“字符串 1、字符串 2、字符串 3“。这工作正常,但有时我的列中有超过 4000 字节。

 (SELECT
     (RTRIM(XMLAGG(xmlelement(X, TABLE1.STRING||',') order by TABLE1.STRING).extract('//text()'),','))
    FROM
        STRING_HAS_TABLE1
    JOIN TABLE1 STRING_HAS_TABLE1.STRING_ID = TABLE1.ID
    WHERE
      STRING_HAS_TABLE1.USER_ID = X.ID) AS STRINGS,

Oracle 抛出“缓冲区溢出”。我认为问题出在视图内的列类型:VARCHAR2(4000)。

错误:ORA 19011 - 字符串缓冲区太小

有什么想法可以在不改变整个应用程序逻辑的情况下处理这个问题吗?


这是数据类型之间隐式转换的问题。您可以通过将其视为CLOB在修剪之前,通过添加getClobVal() call:

SELECT RTRIM(XMLAGG(xmlelement(X, TABLE1.STRING||',')
    order by TABLE1.STRING).extract('//text()').getClobVal(),',')
FROM ...

The RTRIM文档 http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions160.htm#sthref1481显示它接受的类型,并且因为XMLTYPE未列出,这意味着它必须进行隐式转换,显然是为了VARCHAR2。 (同样适用于其他TRIM功能)。

但它确实接受CLOB,因此显式转换为CLOB means RTRIM不会对太小的类型进行隐式转换。

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

Oracle VIEW - 列中超过 4000 字节 的相关文章

随机推荐

  • Firebase:观察 childAdded 返回现有/旧记录?

    我有一个查询 用 swift 编写 FIRDatabase database reference withPath ORDERS PATH lId child orders observe childAdded with firebaseS
  • Bash sqlite3 行 |如何转换为JSON格式

    我想将数据库中的 sqlite 数据转换为 JSON 格式 我想使用这个语法 sqlite3 linemembers db 从成员LIMIT 3中选择 gt members txt OUTPUT id 1 fname Leif gname
  • TensorFlow 图像分类

    我对 TensorFlow 很陌生 我正在做图像分类使用我自己的训练数据库 然而 在我训练了自己的数据集之后 我不知道如何对输入图像进行分类 这是我的代码准备我自己的数据集 filenames 01 jpg 02 jpg 03 jpg 04
  • 下载极大文件时连接关闭

    我们有一个提供文件的网络服务 最近 我们遇到一个非常大的文件 超过 2 GB 无法复制到缓冲区中 我修改了代码以使用HttpCompletionOptions ResponseHeadersRead不使用缓冲区并直接复制到流 然而 大多数时
  • 如何防止部分视图中的脚本多次加载并在同一页面中多次使用部分时导致错误

    在 ASP NET MVC 中 我创建了一个局部视图 该视图在同一页面上呈现两次 我的问题是JavaScript 被包含的次数与分部视图的次数一样多JavaScript 不喜欢重新定义类 我的问题是 如何将 JavaScript 包含在部分
  • Page_ClientValidate() 问题

    function Subscribe if typeof Page ClientValidate function Page ClientValidate if Page IsValid do something CheckUser 该脚本
  • django 管理操作而不选择对象

    是否可以为 django 管理员创建一个自定义管理操作 而不需要选择某些对象来运行它 如果您尝试在不选择对象的情况下运行操作 您会收到以下消息 Items must be selected in order to perform actio
  • tsc 未被识别为内部或外部命令

    我从 VSCode 0 10 6 更新到 0 10 8 并第一次尝试使用 Typescript 不幸的是 当我告诉 VSCode 构建时 我收到错误 tsc 不被识别为内部或外部命令 以下是相关详情 I created a fresh He
  • 如何采用按单独列排序的 DISTINCT ON 子查询并使其快速?

    又名 查询和数据与问题非常相似 选择按某列排序且在另一列上不同的行 https stackoverflow com questions 9796078 selecting rows ordered by some column and di
  • 如何在 Angular 8 或 9 中发出同步 HTTP 请求(发出请求并等待)

    有三个按钮 单击第一个Request HTTP Data As Promise按钮获取其 HTTP 响应作为Promise 第二Request HTTP Data As Observable按钮的响应为Observable 这两个按钮都使用
  • 网页推荐系统

    我正在尝试构建一个推荐系统 该系统会根据用户的操作 谷歌搜索 点击 他还可以明确地对网页进行评分 向用户推荐网页 为了了解谷歌新闻的做法 它会显示来自网络的有关特定主题的新闻文章 用技术术语来说就是集群 但我的目标是相似的 它将是基于用户操
  • 无法在 OS X 上的 Visual Studio Code 中运行命令

    所以我已经启动并运行了 Visual Studio Code 据我所知 我已经安装了所有先决条件 我能够创建一个 ASP NET 5 项目并通过在中键入 dnx web 来运行该网站我的终端 所有这些都有效 我遇到的问题来自 Visual
  • 在 JUnit 中删除文件和目录

    我正在为在目录中创建文件的方法编写测试 我的 JUnit 测试如下所示 Before public void setUp objectUnderTest new ClassUnderTest assign another directory
  • Chrome 打包应用程序具有 onblur 侦听器

    Chrome 打包应用程序是否有任何事件侦听器来判断应用程序是否失去焦点 我正在尝试制作一款游戏 但当我改变焦点时 我似乎无法使其暂停 我尝试了一些不同的方法 例如以下方法 但似乎都不起作用 document onblur pause do
  • 在本地计算机上有效但在服务器上无效的命令?

    我的桌面使用 ubuntu 10 04 服务器使用 Ubuntu 10 04 服务器版本 以下命令 sudo pip install e git http github com facebook python sdk git egg fac
  • 实现接口的数组的隐式类型

    我的印象是 C 编译器将根据它们都可以隐式转换为的类型隐式键入一个数组 编译器生成未找到隐式类型数组的最佳类型 public interface ISomething public interface ISomething2 public
  • 在线图上绘制误差阴影带 - python

    假设我有 25 行这样的代码 x np linspace 0 30 60 y np sin x 6 np pi error np random normal 0 1 0 02 size y shape y1 y np random norm
  • Unity3d 中的 Signalr 和 WebSocketSharp

    我目前已经构建了一个简单的信号中心 我正在将消息从 Unity5 项目推送到其中 鉴于 SignalR2 客户端不适用于 Unity5 我使用 websocketsharp 来拦截 websocket 帧 消息已成功推送到集线器 但是当我尝
  • 选择上一行mysql?

    如果我有一个 mysql 表 其中包含主 ID 和另一个名为 gameScore 的字段 我可以做一些类似的事情 SELECT gameScore FROM table1 WHERE id 100 ORDER BY gameScore AS
  • Oracle VIEW - 列中超过 4000 字节

    我正在使用 SQL 语句的这一部分从 N N 关系中获取信息 目标是获得一个包含如下列的视图 字符串 1 字符串 2 字符串 3 这工作正常 但有时我的列中有超过 4000 字节 SELECT RTRIM XMLAGG xmlelement