В Oracle PLSQL не удалось обновить столбец VARCHAR2 с помощью alphanumeri, если в столбце уже есть числовое значение - PullRequest
0 голосов
/ 02 ноября 2018

В первый раз столбец 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...