【发布时间】:2021-03-16 16:57:21
【问题描述】:
我想使用 ORACLE 根据“LEASE_ID_count”的值添加一个“标签”列。
但我收到此错误:
“CUSTOM_LIFETIME_VALUE_TAG”列的值太大。“tag”(实际: 7、最大值:3),引起:OracleDatabaseException: ORA-12899: value 对于列“CUSTOM_LIFETIME_VALUE_TAG”来说太大了。“标签”(实际:7, 最大:3
select "COMPANY_CODE", "LEASE_ID_count",
(CASE WHEN "LEASE_ID_count" IN ('3','4', '5') THEN '3 à 5vh' WHEN "LEASE_ID_count" ='1' THEN '1vh' WHEN "LEASE_ID_count" ='2' THEN '2vh' END) "tag"
from "CUSTOM_LIFETIME_VALUE_TESR"
任何想法请帮助我?谢谢
【问题讨论】:
-
这个
SELECT不会导致该错误。SELECT似乎是INSERT的一部分,并且在这种情况下错误似乎很明显。 -
我意识到一双全新的眼睛有时可以看到一些你看不到的明显的东西,但这里的信息非常清楚。
tag列是如何定义的?错误提示varchar2(3)。'3 à 5vh'中有多少个字符? (顺便说一句,同事们不太可能感谢您使用带引号的标识符;这似乎是您应该在视图中执行的操作,或者作为现有表中的虚拟列,而不是作为您必须维护的新表?)跨度> -
@GordonLinoff 谢谢,你的意思是我必须通过插入来重新选择?我不清楚
-
varchar2??我在错误消息中没有看到这个:o