Гость
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Показать записи возвращаемые хранимой процедурой из пакетника / 4 сообщений из 4, страница 1 из 1
01.02.2022, 10:45
    #40130951
Gramkin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Показать записи возвращаемые хранимой процедурой из пакетника
Добрый день.
В пакетнике имеется процедура такого вида
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
PROCEDURE myprocedure (
	myid		in	NUMBER;
	outdata		out	SYS_REFCURSOR
	) AS
	BEGIN
		OPEN outdata FOR SELECT
							F1,
							F2,
							F3
						 FROM
							TABLE1
						 WHERE 
							id = myid;



Подскажите, пожалуйста, какой запрос нужно написать, чтобы отобразить данные, возвращаемые данной процедурой?
На сколько я понимаю, там в ответе возвращается курсор, но не понимаю, как достать из него данные и отобразить их в SQL Developer
...
Рейтинг: 0 / 0
01.02.2022, 11:05
    #40130954
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Показать записи возвращаемые хранимой процедурой из пакетника
Gramkin,

в sql*plus-е принт

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SQL> var c REFCURSOR
SQL> exec open :c for select * from dual

PL/SQL procedure successfully completed.

SQL> print :c

D
-
X



.....
stax
...
Рейтинг: 0 / 0
01.02.2022, 15:02
    #40131029
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Показать записи возвращаемые хранимой процедурой из пакетника
Gramkin

Что-то в этом роде, ИМХО

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
DECLARE
	l_myid NUMBER := 10; --- 10 как пример
	l_cursor     SYS_REFCURSOR;
	
	l_F1 <тип поля>;
	l_F2 <тип поля>;
	l_F3 <тип поля>;
	
BEGIN
	-- Вызов процедуры
	myprocedure (l_myid, l_cursor);
	
	-- вывод результатов
	LOOP 
		FETCH l_cursor INTO l_F1, l_F2, l_F3;
                EXIT WHEN (l_cursor%NOTFOUND);
		
		DBMS_OUTPUT.PUT_LINE( 'l_F1=' || l_F1 || ' l_F2=' || l_F2 || ' l_F3=' || l_F3); /* Здесь возможны преобразования надо делать, т.к. типы полей не представлены */
		
	END LOOP;
	
	CLOSE l_cursor;
END;
...
Рейтинг: 0 / 0
01.02.2022, 17:05
    #40131067
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Показать записи возвращаемые хранимой процедурой из пакетника
Gramkin,

В SQL*Developer раскрой соединение, раскрой процедуры и найди myprocedure. Двойной клик на процедуру и она откроется в правом окне. Жми на зеленый треугольник - выскочит окно там будут параметры. Введи значение параметра MYID в Input Value. Жми OK - выскочит окно внизу. В нем будет кнопка Output Variables. Жми её и будет тебе счастье. Oracle постарался - Кощея убить куда проще .

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


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