, когда я обновляю columon (NVARCHAR2
) в базе данных oracle с 64 символами (0005la_12111111111111112313_0005la_12111111111111112313_0005la_1) с помощью разработчика pl/sql, я могу успешно обновить. я выбираю это поле из SQLPLUS:Разработчик pl/sql не может отображать NVARCHAR2 с 64 символами
SQL> select pid from pidinfo where accountid=22735;
pid
0005la_12111111111111112313_0005la_12111111111111112313_0005la_1
enter code here
, но когда я использую SQL Developer PL/проверить результат, я обнаружил, что:
SQL> select pid from pidinfo where accountid=22735;
pid
0005la_12111111111111112313_0005la_12111111111111112313_0005la_
вы можете видеть, что есть ошибка, когда пл/sql для отображения NVARCHAR2 с 64 символами, pl/sql может отображать только 63 символа.
Это ошибка?
следующий SQL для воспроизведите:
create table PIDINFO
(
PIDID NUMBER(10) not null,
PID NVARCHAR2(64) not null,
ACCOUNTID NUMBER(10) default 0 not null,
);
comment on column PIDINFO.PIDID
is 'pid id';
comment on column PIDINFO.PID
is 'pid';
comment on column PIDINFO.ACCOUNTID
is 'pid accountid';
insert into PIDINFO (PIDID,PID,ACCOUNTID) values (1,'wheat',22735);
update pidinfo a set a.pid='0005la_12111111111111112313_0005la_12111111111111112313_0005la_1' where a.pid='wheat';
Это не может быть. . Он показывает, какое значение имеет значение перед обновлением. Угадайте, что ваше обновление не работает –
Просьба предоставить полный пример с 'CREATE/INSERT/SELECT', чтобы мы могли воспроизвести. Маловероятно, что вы нашли ошибку. Это либо проблема с отображением (последние символы обрезаны, чтобы вписаться в поле), либо проблема с несколькими сеансами. Каков результат 'select pid from pidinfo, где pid = '0005la_12111111111111112313_0005la_12111111111111112313_0005la_1''? –
результат этого sql отличается при использовании pl/sql и sqlplus. при использовании pl/sql результат: SQL> select pid from pidinfo, где pid = '0005la_12111111111111112313_0005la_12111111111111112313_0005la_1'; PID 0005la_12111111111111112313_0005la_12111111111111112313_0005la_ при использовании sqlplus в результате получается: SQL> select pid from pidinfo где pid = '0005la_1211111111111112313_0005la_12111111111111112313_0005la_1'; PID 0005la_12111111111111112313_0005la_12111111111111112313_0005la_1 – malasang