В первый раз столбец VARCHAR2 был сохранен с числовым значением, то есть 123123 .. и если я пытаюсь обновить тот же столбец VARCHAR2 с буквенно-цифровыми значениями, он не обновляется и выдает ошибку «Неверное число» ... Oracle неявно преобразуется в числовое значение на основе предыдущего значения, сохраненного, хотя тип данных столбца - VARCHAR2.
Ниже приведен DDL:
CREATE TABLE "CUST_DETAIL"
( "ACCOUNT_NO" NUMBER,
"EXTERNAL_ID" VARCHAR2(20 BYTE),
"DESCRIPTION_TEST" VARCHAR2(256 BYTE)
)
CREATE UNIQUE INDEX "CUST_ACCT_PK" ON "CUST_DETAIL" ("ACCOUNT_NO")
ALTER TABLE "CUST_DETAIL"
ADD CONSTRAINT "CUST_CHECK_DES"
CHECK (DESCRIPTION_TEST IS NULL OR (DESCRIPTION_TEST is not null AND DESCRIPTION_TEST >6)) ENABLE;
ALTER TABLE "CUST_DETAIL"
ADD CONSTRAINT "CUST_ACCT_PK" PRIMARY KEY ("ACCOUNT_NO")
INSERT INTO CUST_DETAIL VALUES(9012344,'SL345A','123134123')
update CUST_DETAIL set DESCRIPTION_TEST='U_CODNAD_0o1'
ERROR==> .Error starting at line : 13 in command -
update CUST_DETAIL set DESCRIPTION_TEST='U_CODNAD_0o1'
Error report -
ORA-01722: invalid number