SQL-Transformationen

In diesem Abschnitt findet sich alle Module, die SQL verwenden, um Transformationen zu formulieren.

Diese Module können nur innerhalb einer Datenbank verwendet werden, d.h. Quellen und Ziele müssen in derselben Datenbak liegen.

Anmerkungen

Es git die Möglichkeit "Skip if empty" oder "Error if empty" zu setzen.

Wenn dieses gemacht wird, dann wir die Action vorab einmal ausgeführt, um zu sehen ob etwas herauskommt. Dabei wird versucht den Optimizer der jeweiligen Datenbak zu unterstützen, damit nicht alles berechnet werden muss.

Wie immer gibt es hierbei ein paar Exoten, die eine eigene Syntax haben um die Menge zu reduzieren.

Bei SQL Server und Teradata wird die Query eingebettet in

SELECT TOP 1 1 FROM (<query>) a

Bei Oracle:

SELECT 1 FROM (<query>) a WHERE rownum = 1

Bei allen anderen Datenbanken:

SELECT 1 FROM (<query>) a WHERE LIMIT 1

Es wurden nicht alle verfügbaren Datenbanken getestet. Nach Recherge wurde kein anderer Exot gefunden.

Die folgenden sollten die LIMIT Clause kennen (alle mit (G) wurden geprüft):

  • BIGQUERY
  • DB2
  • DERBY
  • EXASOL (G)
  • H2 (G)
  • HSQL
  • MARIADB
  • MYSQL (G)
  • POSTGRES (G)
  • REDSHIFT
  • SNOWFLAKE
  • SQLITE