Asan
Зарегистрирован: 03.01.2009 Сообщения: 1
|
Добавлено: Сб Янв 03 2009 07:52 Заголовок сообщения: Подскажите в чём ошибка в процедуре |
|
|
С наступившим Новым годом!
Возникла следующая проблема: существует процедура на PL/SQL, написанная для таблицы с полем типа BLOB, всё нормально работало. В один прекрасный момент в таблицу были внесены изменения: тип поля был изменён на CLOB, в процедуру внесены соответсвующие изменения, но при компиляции выдаётся Status invalid.
Текст процедуры следующий:
CREATE OR REPLACE PROCEDURE "POLSOVATEL"."POISK" (
clob_str IN VARCHAR2(250),
id_par IN INTEGER,
city OUT INTEGER
)
IS
clob_text CLOB;
return_ind INTEGER := 100;
smesh INTEGER := 1;
vhozh INTEGER := 1;
BEGIN
SELECT docval
INTO clob_text
FROM textdoc
WHERE iddoc = id_par;
return_ind := DBMS_LOB.INSTR(clob_text, clob_str, smesh, vhozh);
IF (return_ind > 0) THEN
city := 1;
ELSIF (return_ind = 0) THEN
city := 0;
ELSE
city := 100;
END IF;
END POISK;
После изменения типа поля dpcval с BLOB на CLOB, в процедуре был изменен тип у clob_str c RAW на VARCHAR2, и clob_text c BLOB на CLOB.
Если это имеет значение работаю с Oracle 8.1.7.
Заранее спасибо за помощь! |
|