gpt4 book ai didi

oracle - 如何在 Oracle 11g 中存储无限字符?

转载 作者:行者123 更新时间:2023-12-04 00:29:27 25 4
gpt4 key购买 nike

我们在 Oracle 11g 中有一个带有 varchar2 列的表。我们使用专有编程语言,其中此列被定义为字符串。我们最多可以在此列中存储 2000 个字符(4000 个字节)。现在的要求是,该列需要存储超过 2000 个字符(实际上是无限个字符)。出于维护原因,DBA 不喜欢 BLOB 或 LONG 数据类型。

我能想到的解决方案是从原始表中删除此列并为该列创建一个单独的表,然后将每个字符存储在一行中,以获得无限字符。此表将与原始表连接以进行查询。

这个问题有没有更好的解决方案?

更新:专有编程语言允许定义字符串和 blob 类型的变量,没有 CLOB 选项。我理解给出的答复,但我不能接受 DBA。我知道偏离 BLOB 或 LONG 将是开发人员的噩梦,但仍然无法帮助它。

更新 2:如果我需要的最大字符数是 8000 个字符,我可以再添加 3 列,这样我就有 4 列,每列有 2000 个字符以获得 8000 个字符。因此,当第一列已满时,值将溢出到下一列,依此类推。这种设计会不会有什么不好的副作用?请建议。

最佳答案

如果 blob 是您所需要的,请说服您的 dba,这正是您所需要的。这些数据类型的存在是有原因的,任何滚动你自己的实现都会比内置类型更糟糕。

您也可能想查看 CLOB类型,因为它将很好地满足您的需求。

关于oracle - 如何在 Oracle 11g 中存储无限字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2976154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com