powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не компилируется процедура
5 сообщений из 5, страница 1 из 1
Не компилируется процедура
    #40045871
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть тело процедуры с такой строкой:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
procedure ...
begin
...
insert into ... select ... ;
update ACCIDENT_LOG set DETAILS = 'Добавлено строк: '||SQL%ROWCOUNT where LOG_ID = v_log;
...
end;


При компиляции выдает ошибку "ORA-00911: неверный символ".
Если SQL%ROWCOUNT убрать, то компилируется нормально.
Не могу понять, в чем причина.
...
Рейтинг: 0 / 0
Не компилируется процедура
    #40045875
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм.
А вот так компилируется:
Код: plsql
1.
2.
3.
4.
...
      v_cnt := SQL%ROWCOUNT;
      update ACCIDENT_LOG set DETAILS = 'Добавлено строк: '||v_cnt where LOG_ID = v_log;
...


Баг парсера IDE?
...
Рейтинг: 0 / 0
Не компилируется процедура
    #40045877
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может потому, что это конструкция PL/SQL и SQL о ней ничего не знает?

note: не точно, т.к. перечитывать документацию лениво

https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/sqloperations.htm
...
Рейтинг: 0 / 0
Не компилируется процедура
    #40045882
Фотография AlexFF__|
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.
Хм.
А вот так компилируется:
Код: plsql
1.
2.
3.
4.
...
      v_cnt := SQL%ROWCOUNT;
      update ACCIDENT_LOG set DETAILS = 'Добавлено строк: '||v_cnt where LOG_ID = v_log;
...


Баг парсера IDE?

Я так понимаю, ошибки ты тоже никогда не пытался писать в таблицу логов напрямую?
С почином )
...
Рейтинг: 0 / 0
Не компилируется процедура
    #40045889
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раньше я использовал TOAD, отладку делал в dbms_output.put_line и о таком нюансе не знал.
Но в SQL Developer dbms_output не работает, поэтому я начал выводить отладочные сообщения в таблицу и столкнулся.

Да, причина именно в этом, атрибуты типа %ROWCOUNT используются в PL/SQL, в SQL их нет.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не компилируется процедура
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]