Пусть будет таблица A(text_1 varchar2(4000 CHAR), text_2 varchar(4000 CHAR))
И вот выбор для этого:
SELECT sys.dbms_crypto.hash(empty_clob() || text_1 || text_2, 2) from A;
Я получаю сообщение об ошибке 24805. Я ожидаю преобразования text_1
и text_2
в CLOB
, и соединяясь друг с другом. После этого мне нужно получить hash_code, используя функцию ниже. Этот код также будет частью блока PL / SQL (часть оператора вставки в функции). Если я воспользуюсь таким:
SELECT sys.dbms_crypto.hash(to_clob('') || text_1 || text_2, 2) from A;
Теперь все в порядке. Итак, в чем была проблема?
create table A(text_1 varchar2(4000 CHAR), text_2 varchar2(4000 CHAR));
insert into A(text_1,text_2)values ('test1','test2');
commit;
Вот пример создания данных для A.