В одном из окружающей среды на 11G, я создал таблицу с одной виртуальной колонкой следующим образомOracle, виртуальная колонка генерирует -1,0002 ... вместо -1 на одном примере
create table TEST_VIRTUAL_COL(
col1 number(5),
col2 varchar2(10),
col3 number generated always as((-1)) virtual visible
);
Затем вставить строку в этом
insert into TEST_VIRTUAL_COL (col1,col2) values (1,'Test');
Когда я выбираю данные из этой таблицы
select * from TEST_VIRTUAL_COL;
я получаю следующий вывод
COL1 | COL2 | COL3
---------------------------------------------------------
1 | Test | -1.00020202020065020202005723022430686716
COL3
не показывает -1
Любая идея вокруг этого, как получить -1
как выход COL3
?
Он отлично работает в другой среде на Oracle 11g.
Вы с помощью тот же клиент для подключения к обоим экземплярам? Или вы используете разных клиентов? Можете ли вы рассказать нам больше о своей клиентской и серверной среде (ОС, точный номер версии вашей базы данных Oracle ...)? –
Не знаете, как ошибка 9039716 влияет на числа, но может быть правдоподобной, если сломанная среда находится в уязвимой версии. Вы всегда получаете такое же значение? И что показывает 'dump()' для этого столбца? –