AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird 3.0

Ein Thema von hanspeter · begonnen am 28. Dez 2013 · letzter Beitrag vom 16. Jan 2014
Antwort Antwort
Seite 2 von 2     12   
Dumpfbacke

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

AW: Firebird 3.0

  Alt 12. Jan 2014, 17:46
Leider nicht in einem Single-SQL-Statement, sondern via EXECUTE STATEMENT in PSQL. Aber das gibt es schon seit 2.5.

Könntest du mier hierzu ein kleines Beispiel bitte geben wie man so etwas macht ? Man das wäre ja schön wenn es schon mit 2.5 gehen würde.



Danke schon einmla Tanja
Tanja
  Mit Zitat antworten Zitat
tsteinmaurer

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

AW: Firebird 3.0

  Alt 12. Jan 2014, 19: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
332 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

AW: Firebird 3.0

  Alt 15. Jan 2014, 19: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
671 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Firebird 3.0

  Alt 16. Jan 2014, 12: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
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
lowmax_5

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

AW: Firebird 3.0

  Alt 16. Jan 2014, 13: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.380 Beiträge
 
Delphi 10.3 Rio
 
#16

AW: Firebird 3.0

  Alt 16. Jan 2014, 13: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 14:01 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz