我目前正在使用 Oracle 11g。根据我的要求,我需要将前 4000 个(最大限制)字符存储到我的变量(在触发器中使用)。
为此,我正在使用 VarName = SUBSTR 函数 (VarName, 1, 4000),但它似乎没有存储任何内容(我正在传递 '111...'(要存储的 4096 个字符),我想从中存储 (' 111...') 仅限前 4000 个字符)。
它适用于 4 个字符,但不适用于最大限制。我尝试将长度设为 3999、3000,但没有任何效果。
请仔细研究一下,并为此建议我一些解决方案。
(*注意:我无法将变量类型从 varchar 更改为 clob,因为该列已经拥有数百万个遗留数据。)
*修改:我尝试使用 Substr 长度 2048,它正在工作,但是一旦我向 substr 提供 2049 个字符,它再次变为 null。但在数据类型字段值被定义为 VARCHAR2(4000 CHAR)。