Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MySQL: Table Paramter möglich? (https://www.delphipraxis.net/153169-mysql-table-paramter-moeglich.html)

Windwalker 23. Jul 2010 14:05

Datenbank: MySQL • Version: 5 • Zugriff über: MyDAC

MySQL: Table Paramter möglich?
 
Hallo!

Ich lese Daten von Bestellungen aus einer MySQL-DB.
In meiner Query kommt eine größere WHERE-IN Bedingung vor, in etwa:

Code:
SELECT * FROM Table_Orders
WHERE
  product_id IN :PARAMTER
In den Parameter möchte ich die Produkt-IDs übergeben, welche ich vorher aus einer Oracle-Datenbank (mit der abgeglichen wird) gelesen habe.
Diese Produkt-IDs würde ich gerne, wie ich es aus Oracle kenne, als Table-Parameter übergeben:
Code:
Query.ParamByName('PRODUKT_ID').AsTable.AllocObject(session,'<DATENTYP>');
Geht das auch in MySQL?

Danke für die Hilfe!

s.h.a.r.k 23. Jul 2010 14:11

AW: MySQL: Table Paramter möglich?
 
Auch wenn es keinerlei Antwort ist: gab es aber beim IN-Befehl nicht eine Beschränkung der Anzahl der Werte in der Menge!?

Windwalker 23. Jul 2010 14:20

AW: MySQL: Table Paramter möglich?
 
Zitat:

Zitat von s.h.a.r.k (Beitrag 1037093)
Auch wenn es keinerlei Antwort ist: gab es aber beim IN-Befehl nicht eine Beschränkung der Anzahl der Werte in der Menge!?

Das ist richtig, allerdings nur, wenn man die Liste direkt als String übergibt, d.h.:
Code:
WHERE <attribut> IN (<>,<>,<>, ..., <>)
Bei einem Tableparameter (zumindest in Oracle) wird intern ein richtiger SELECT auf auf die übergebene Tabelle gemacht, d.h. das ganze wird nicht als String betrachtet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:06 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