Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.023 c
2-1235107882
Рулан
2009-02-20 08:31
2009.04.05
как работать с dbf


1-1209133936
Kolan
2008-04-25 18:32
2009.04.05
В MDI приложение WindowState := wsMaximized; происходит долго&amp;#133


2-1234349665
harisma
2009-02-11 13:54
2009.04.05
ListView и позиционирование.


15-1231429204
NEWichok
2009-01-08 18:40
2009.04.05
Чем, и стоит ли, заменить Quick Reports?


15-1233594113
Кое кто
2009-02-02 20:01
2009.04.05
Предложение по составу...