Мне нужно обрезать имя экземпляра из полного имени dblink. Например, запрос select возвращает результат, такой как HHVISDEV.TRINITI.COM. Мне нужно получить HHVISDEV. И, конечно, такие множественные результаты. Поэтому мне нужно использовать курсор и напечатать окончательный результат. Я получаю Warning: Procedure created with compilation errors.
, когда компилирую. И когда я вызываю процедуру, я получаю ERROR по строке 1: ORA-06575: Package or function DELETEDBLINKS1 is in an invalid state.
Может ли кто-нибудь мне направить.Использование курсора и SUBSTR в процедуре
create or replace procedure DeleteDBLinks1 is
cursor mycursor is
SELECT SUBSTR(DB_LINK, 1, INSTR(DB_LINK, '.', 1, 1) - 1)
FROM dba_db_links;
myvar dba_db_links.dblinks%TYPE;
BEGIN
OPEN mycursor;
LOOP
FETCH mycursor
INTO myvar;
EXIT WHEN mycursor%NOTFOUND;
DBMS_OUTPUT.put_line(myvar);
END LOOP;
CLOSE mycursor;
end;
/
Какая ошибка компиляции, которую вы получаете? – Nitish