powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Можно ли вызвать из Oracle через dblink функцию в PostgreSQL
6 сообщений из 6, страница 1 из 1
Можно ли вызвать из Oracle через dblink функцию в PostgreSQL
    #38886821
SergeyNZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте
Создал в Oracle dblink к PostgreSQL. Select к таблицам выполняются.
Написал в PostgreSQL функцию
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE OR REPLACE FUNCTION paybase_schema.test123 (v_input integer) RETURNS smallint AS
$body$
DECLARE
BEGIN
  return v_input;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST 100;


Попробовал вызвать ее в Oracle через dblink
Код: plsql
1.
select "paybase_schema"."test123"@pgsql(1) from dual


получаю ошибку ORA-00904: "paybase_schema"."test123": недопустимый идентификатор

Почему?

Oracle 11.2.0.3 PostgreSQL 9.3
...
Рейтинг: 0 / 0
Можно ли вызвать из Oracle через dblink функцию в PostgreSQL
    #38886954
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyNZ,

Не знаю как в Оракле, но в Пг DBLink принимает строку. Если в Оракле так-же, то надо следовать стандартам SQL. Никаких @pgsql и dual:
Код: sql
1.
SELECT paybase_schema.test123(1);
...
Рейтинг: 0 / 0
Можно ли вызвать из Oracle через dblink функцию в PostgreSQL
    #38886993
SergeyNZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
SELECT paybase_schema.test123(1);


Это у меня в PostgreSQL тоже работает
В Oracle нельзя написать SELECT не указав FROM
...
Рейтинг: 0 / 0
Можно ли вызвать из Oracle через dblink функцию в PostgreSQL
    #38887556
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergeyNZ
Код: plsql
1.
SELECT paybase_schema.test123(1);


Это у меня в PostgreSQL тоже работает
В Oracle нельзя написать SELECT не указав FROM
но и вызов pipline функций в оракл другой, через

Код: sql
1.
2.
SELECT .... FROM {from_list}
,table(function_name(params({from_list})



а какой, если это ещё и dblink--ф-я -- я уже и забыл. такошто вопросы к ораклу.


PS там, внутре в оракле, есть другая неонка другой пакет (не dblink), который позволяет запросы в синтаксисе именно вызываемой БД. Полазайте по ора --форуму, я там встречал.
...
Рейтинг: 0 / 0
Можно ли вызвать из Oracle через dblink функцию в PostgreSQL
    #38887573
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergeyNZ,

проглядел, у вас пока не pipline. (setof).
но вспомнил ещё : -- в самом оракле можно пытаться порулить стороной исполнения распределённого запроса с помощью хинта /*+DRIVING_SITE(alias)*/ [гарантий нет]
...
Рейтинг: 0 / 0
Можно ли вызвать из Oracle через dblink функцию в PostgreSQL
    #38887596
SergeyNZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Можно ли вызвать из Oracle через dblink функцию в PostgreSQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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