Я сталкиваюсь с проблемой при попытке использовать функцию LAG
в столбце CLOB
.
Итак, давайте предположим, что у нас есть таблица
create table test (
id number primary key,
not_clob varchar2(255),
this_is_clob clob
);
insert into test values (1, 'test1', to_clob('clob1'));
insert into test values (2, 'test2', to_clob('clob2'));
DECLARE
x CLOB := 'C';
BEGIN
FOR i in 1..32767
LOOP
x := x||'C';
END LOOP;
INSERT INTO test(id,not_clob,this_is_clob) values(3,'test3',x);
END;
/
commit;
Теперь давайте сделаем выборку, используя не закрывающиеся столбцы
select id, lag(not_clob) over (order by id) from test;
Работает нормально, как и ожидалось, но когда я пытаюсь сделать то же самое с столбцом clob
select id, lag(this_is_clob) over (order by id) from test;
Я получаю
ORA-00932: inconsistent datatypes: expected - got CLOB
00932. 00000 - "inconsistent datatypes: expected %s got %s"
*Cause:
*Action:
Error at Line: 1 Column: 16
Вы можете сказать мне, каково решение этой проблемы, поскольку я ничего не мог найти по этому поводу.