Текущий архив: 2009.04.05;
Скачать: CL | DM;
Вниз
сопоставить запрос с 2-х разных баз Найти похожие ветки
← →
belmol (2008-08-09 07:00) [0]Подскажите , есть 2 базы, в каждой базе есть табличка с уникальным столбцом, как мне вывести в один датасет сопоставленные записи.. не догоняю я что то
← →
Loginov Dmitry © (2008-08-09 10:01) [1]> Подскажите , есть 2 базы, в каждой базе есть табличка с
> уникальным столбцом, как мне вывести в один датасет сопоставленные
> записи.. не догоняю я что то
Ага, ты бы IB5.x установил ;)
Такая возможность появилась не-то в FB 2.0, не-то в FB 2.1.
← →
Виталий Панасенко(дом) (2008-08-09 11:37) [2]
> Loginov Dmitry © (09.08.08 10:01) [1]
фиг там...насколько я помню, ПОЯВИТЬСЯ в 3,х
← →
Loginov Dmitry © (2008-08-09 13:21) [3]> фиг там...насколько я помню, ПОЯВИТЬСЯ в 3,х
Да, поспешил малось. Месяц или 2 назад читал релизноты по FB2.5. Про гетерогенные запросы запомнил, а про версию FB-забыл ;)
← →
PEAKTOP © (2008-08-09 13:32) [4]>> Такая возможность появилась не-то в FB 2.0, не-то в FB 2.1.
Cross-database запросы появились в 2.5. Сейчас он в стотоянии Alpha. Финальный релиз будет к октябрю.
Синтаксис:
[FOR] EXECUTE STATEMENT <query_text> [(<input_parameters>)]
[ON EXTERNAL [DATA SOURCE] <connection_string>]
[WITH AUTONOMOUS | COMMON TRANSACTION]
[AS USER <user_name>]
[PASSWORD <password>]
[WITH CALLER PRIVILEGES]
[INTO <variables>]
Где:
<connection_string> - строка подключения к базе данных, применяема при вызове API-функции сервера isc_attach_database() в формате <имя сервера><протокол><путь к базе данных | псевдоним базы данных из aliases.conf>
<user_name> - имя пользователя. Можно использовать переменную CURRENT_USER, тогда можно не указывать пароль подключения <password>
Например:
CREATE PROCEDURE MY_PROC(
Q_PARAM1 .....
)RETURNS(
.......
)AS
DECLARE VARIABLE P_SQL_STMT VARCHAR(512);
.....
BEGIN
.....
P_SQL_STMT = "SELECT T1.FIELD1, T1.FIELD2,..., T1.FIELDN FROM MY_TABLE T1 WHERE (T1.FIELD1 = :P1) AND (T1.FIELD2 = :P2) ";
FOR
EXECUTE STATEMENT ( :P_SQL_STMT ) (P1 := "ABC", P2 := :Q_PARAM1)
ON EXTERNAL DATA SOURCE "192.168.0.1:MY_DATABASE"
WITH COMMON TRANSACTION
AS USER CURRENT_USER
WITH CALLER PRIVILEGES
INTO :F1, F2
DO
BEGIN
.......
SUSPEND;
END
END
← →
DrPass © (2008-08-10 18:03) [5]
> Сейчас он в стотоянии Alpha. Финальный релиз будет к октябрю
2010 года?
← →
Виталий Панасенко(дом) (2008-08-10 19:49) [6]
> DrPass © (10.08.08 18:03) [5]
Хи-Хи
← →
PEAKTOP © (2008-08-11 01:04) [7]> DrPass © (10.08.08 18:03) [5]
> > Сейчас он в стотоянии Alpha. Финальный релиз будет к октябрю
>
> 2010 года?
2008.
Кстати, этот релиз по функционалу полностью догоняет PostgreSQL, считавшуюся ранее SQL-сервером №1 по функционалу. Так что новая волна холиваров обеспечена ;)
← →
PEAKTOP © (2008-08-11 02:55) [8]Вот, исправили документацию
http://firebirdsql.su/doku.php?id=execute_statement
Страницы: 1 вся ветка
Текущий архив: 2009.04.05;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.006 c