AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Firebird 3.0

Ein Thema von hanspeter · begonnen am 28. Dez 2013 · letzter Beitrag vom 16. Jan 2014
Antwort Antwort
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#1

AW: Firebird 3.0

  Alt 12. Jan 2014, 18:44
http://www.firebirdsql.org/refdocs/l...-execstat.html

Siehe den ON EXTERNAL Abschnitt.

LG
  Mit Zitat antworten Zitat
Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
335 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Firebird 3.0

  Alt 15. Jan 2014, 18:47
Leider verstehe ich hier nichts. Könntest du mir eventuell ein Biespiel liefern ?

Beispiel:
Ich habe zwei Datenbanken mit jewals einer Tabelle. Ich möchte nun ein Select machen um Felder aus beiden Tabellen zu holen welche ich mit einm Left Outer Join verbunden habe.

Wie stelle ich es an das es geht ? Danke sachon einmal Tanja
Tanja
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
695 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Firebird 3.0

  Alt 16. Jan 2014, 11:17
hier ein beispiel auf Basis der IBExpert Demodb db1.fdb

Code:
execute block
returns
(customer varchar(80),
total numeric(18,2))
as
declare variable customer_id bigint;
begin
  for
    select customer.id, customer.firstname||' '||customer.lastname
    from customer
    into :customer_id,:customer
  do
  begin
    execute statement ('select coalesce(sum(orders.netamount),0) from orders where orders.customer_id=:customer_id') (customer_id:=customer_id)
    on external 'LOCALHOST/3050:C:\db\DB1.FDB'
    as  user 'SYSDBA' password 'masterkey'
      into :total;
    suspend;
  end
end
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf
  Mit Zitat antworten Zitat
lowmax_5

Registriert seit: 9. Mai 2003
Ort: Münster, NRW
258 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Firebird 3.0

  Alt 16. Jan 2014, 12:04
Manchmal macht es Sinn, mit dem 'DB-Durchgriff' die gleich gesamte Tabelle in die Datenbank zu holen.
Dann sind 'normale Joins' ohne Weiteres möglich. Man muss halt nur darauf achten, dass die Daten aktuell bleiben...
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Firebird 3.0

  Alt 16. Jan 2014, 12:59
Manchmal macht es Sinn, mit dem 'DB-Durchgriff' die gleich gesamte Tabelle in die Datenbank zu holen.
Dann sind 'normale Joins' ohne Weiteres möglich. Man muss halt nur darauf achten, dass die Daten aktuell bleiben...
Aktualität könnte man je nach Umfang der Daten ggf. durch eine Temporäre Tabelle erreichen...

Und ein "normaler" Join sollte auch mit dem ExecuteBlock möglich sein, einfach den Aufruf ein eine StoredProcedure packen. Allerdings würde mich an der Stelle immer noch die Performance interessieren... Immerhin kommt ja ein Verbindungsaufbau mit dazu...

Geändert von Lemmy (16. Jan 2014 um 13:01 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz