powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE
9 сообщений из 9, страница 1 из 1
как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE
    #32893364
Yuri_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа подскажите как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE?

в MS SQL SERVER к примеру можно написать процедуру:

create proc p
as select * from sysobjects
go

затем в качестве источника данных для отчета указать
exec p
- в отчет попадет выборка из sysobjects

как то же реализовать под ORACLE, ведь

create proc p
is
select * from all_objects - не получится
?
...
Рейтинг: 0 / 0
как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE
    #32893380
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuri_Bselect * from all_objects - не получится
?
Если вопрос в том, как вернуть выборку в Oracle - то в FAQ . Подцепит ли ее BO - не знаю; вроде здесь несколько дней назад утверждалось, что BO знает тонкости оракла. В крайнем случае, полагаю, придется обертывать функцию в представление.
...
Рейтинг: 0 / 0
как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE
    #32893391
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно в конце концов view сделать, view то подхватит

"The CBO without stats is like a morning without coffee." T.Kyte
...
Рейтинг: 0 / 0
как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE
    #32893565
Yuri_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да действительно из функций можно вернуть набор занчений,
даже работает :),
но все же хотелось бы сделать это из простой хранимой процедуры.
разница в том что внутри функции вы(я) к примеру не можете создать табличку и заполнить ее значениями, а затем просто сделать select из этой таблички - для отображения данных в BO.
Если внутри функции пытаться создать таблицу то выдается ошибка:
'невозможно выполнение DDL, фиксации или отката внутри запроса или DML операции'
может это можно как-нибудь обойти?
--
хочется получить в ORACLE аналог этого:

create procedure p
as
create table temp(Field int)
insert into temp values(1)
select * from temp
drop table temp

датее в отчете:
exec p
...
Рейтинг: 0 / 0
как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE
    #32894167
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuri_BЕсли внутри функции пытаться создать таблицу то выдается ошибка: 'невозможно выполнение DDL, фиксации или отката внутри запроса или DML операции'
Это уже по теме форума Oracle, а не DWH. И там людям здорово надоело повторять: переходя с MSSQL на Oracle, необходимо научиться работать так, как правильно на Oracle. Пытаться работать "как на MSSQL" - идиотизм, примерно такой же, как пресловутые попытки с помощью

Код: plaintext
1.
2.
#define begin {
#define end }

сделать паскаль-подобный C. Полагаю, это же правило действует и при переходе в обратном направлении, и при любых других переходах.
...
Рейтинг: 0 / 0
как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE
    #32894214
Birkhoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 softwarer
"Уж послала - так послала..." (с) :)

2 Yuri_B
А зачем создавать таблицу?
...
Рейтинг: 0 / 0
как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE
    #32894269
Yuri_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну, да,
нужно научиться вот я поэтому и спросил :)
...
Рейтинг: 0 / 0
как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE
    #32894517
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yuri_Bнужно научиться вот я поэтому и спросил :)
Все же не совсем топик, поэтому постараюсь кратко.

Стиль создал-селекнул-дропнул в Oracle практически не применяется. Для относительно постоянных объектов (например, отчетов, которые созданы и далее используются) следует - в подобной логике - применять Global Temporary Tables, которые примерно то же самое, но не создаются-дропаются, а существуют в словаре данных в ожидании следующего использования.

Вариант с табличными функциями в целом аналогичен, только вместо временной таблицы работает объектный тип.

"Совсем произвольную выборку" можно вернуть двумя способами: либо работая через динамический SQL (примерно то же, что в MSSQL, но явно выделено синтаксически и не слишком удобно) либо через выходной параметр типа REF CURSOR. Поддерживает ли BO последний вариант - не знаю.
...
Рейтинг: 0 / 0
как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE
    #32902411
Pavel Lutsyuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Business Objects products support the following stored procedures (Oracle):
• Any PL/SQL procedures that return result sets through a REF Cursor.
• PL/SQL stored procedures that have at least one IN/OUT REF cursor variable
parameter and no OUT or IN/OUT parameter.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / как использовать хранимые процедуры в качестве источника данных отчета BO под ORACLE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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