2014-01-23 1 views
1

Я запускаю запрос, но до этого я выполняю процедуру из базы данных, которая изменяет доступ к сеансу для пользователя, выполняющего запрос.При выполнении запроса, который после Declare End указывает мне ошибку

Начальная часть завершения и выполнение вызова процедуры выполняется просто, но когда он пытается выполнить запрос выбора, он дает мне ошибку ORA-06550 PLS 00103: Обнаружен символ WITH.

Как я не могу выполнить вызов процедуры, а затем по какой-либо причине выполнить инструкцию select.

Просьба сообщить.

Первоначальный вызов кода

Begin 
util.change_institutions(a_instition => 900); 
End; 

With Balance as (Select * from cbalances where method=100), 
User as (select * from users where user_id = 10132) 

Select * from Balance b 
Full Join User u on u.Serno=b.Serno; 

Мне нужно, чтобы это выполнить в течение одной сессии. Любые идеи, которые могут помочь мне выполнить это?

ответ

3

Просьба указать '/' после блока PL/SQL;

Каждый отчет о PL/SQL, только когда задан '/', фактически очищается от базы данных.

Begin 
util.change_institutions(a_instition => 900); 
End; 
/

With Balance as (Select * from cbalances where method=100), 
User as (select * from users where user_id = 10132) 
Select * from Balance b 
Full Join User u on u.Serno=b.Serno; 
+0

+1 Возможно, также стоит упомянуть, что вы устранили другую проблему, удалив пустую строку. По умолчанию SQL * Plus не принимает пустые строки в операторах SQL. –

+0

Большое спасибо за отзыв. Проблема решена путем наличия/под Конец; линия. – user3122285

Смежные вопросы