文字列を長さ35の列に2つのテーブルに更新しています
最初のテーブルの更新は成功しましたが、2 番目のテーブルで ORA エラー ORA-12899 エラーが発生しました 文字列が大きすぎます
select length('Andres Peñalver D1 Palmar Sani salt') bytes from dual;
BYTES
----------
35
select lengthb('Andres Peñalver D1 Palmar Sani salt') bytes from dual;
BYTES
----------
36
両方のテーブルの colm1 フィールドが VARCHAR(35) として宣言されています。最初のテーブルの更新は失敗し、2 番目のテーブルは成功します。
update t
set colm1='Andres Peñalver D1 Palmar Sani Salt'
where value1='123456';
update t2
set colm1='Andres Peñalver D1 Palmar Sani Salt'
where value1='123456';
ORA-12899
select value from nls_database_parameters where parameter='NLS_CHARACTERSET';
VALUE
----------------------------------------------------------------
AL32UTF8
同じ列タイプを持つこれらのテーブルのこの動作の理由を教えてください