Zum Hauptinhalt springen

Sonderfälle

vorsicht

Bei der Verwendung von limit oder offset muss ein DBProvider angegeben werden.

SelectBuilder.from("customer", db, "mssql")
SelectBuilder.from("customer", db, "mariadb")

limit

Syntax mit SQL-Server

const dbUser = util.getEnvironment("OUSP_DATABASE_USER");
const dbPassword = util.getEnvironment("OUSP_DATABASE_PASSWORD");
const db = new DBConnection("odbc", "ousp", dbUser, dbPassword);
const output = SelectBuilder.from("customer", db, "mssql").limit(10).toSQL();
// SELECT TOP 10 * FROM customer

Syntax mit Maria-DB

const dbUser = util.getEnvironment("OUSP_DATABASE_USER");
const dbPassword = util.getEnvironment("OUSP_DATABASE_PASSWORD");
const db = new DBConnection("odbc", "ousp", dbUser, dbPassword);
const output = SelectBuilder.from("customer", db, "mariadb").limit(10).toSQL();
// SELECT * FROM customer LIMIT 10

offset

Syntax mit SQL-Server

vorsicht

Achtung, bei der Verwendung von offset muss die orderBy Funktion verwerndet werden!

const dbUser = util.getEnvironment("OUSP_DATABASE_USER");
const dbPassword = util.getEnvironment("OUSP_DATABASE_PASSWORD");
const db = new DBConnection("odbc", "ousp", dbUser, dbPassword);
const output = SelectBuilder.from("costcenter", db, "mssql").orderBy("id").offset(10).toSQL();
// SELECT * FROM costcenter ORDER BY id OFFSET 10 ROWS

Verwendung mit limit

const dbUser = util.getEnvironment("OUSP_DATABASE_USER");
const dbPassword = util.getEnvironment("OUSP_DATABASE_PASSWORD");
const db = new DBConnection("odbc", "ousp", dbUser, dbPassword);
const output = SelectBuilder.from("costcenter", db, "mssql").orderBy("id").limit(10).offset(10).toSQL();
// SELECT * FROM costcenter ORDER BY id OFFSET 10 ROWS FETCH FIRST 10 ROWS ONLY

Syntax mit Maria-DB

vorsicht

Achtung, bei der Verwendung von offset sollte die limit Funktion verwendet werden. Wird kein Limit angegeben, so wird die größte verfügbare Nummer übergeben Number.MAX_SAFE_INTEGER

Verwendung ohne limit

const dbUser = util.getEnvironment("OUSP_DATABASE_USER");
const dbPassword = util.getEnvironment("OUSP_DATABASE_PASSWORD");
const db = new DBConnection("odbc", "ousp", dbUser, dbPassword);
const output = SelectBuilder.from("costcenter", db, "mariadb").offset(10).toSQL();
// SELECT * FROM costcenter LIMIT 9007199254740991 OFFSET 10

Verwendung mit limit

const dbUser = util.getEnvironment("OUSP_DATABASE_USER");
const dbPassword = util.getEnvironment("OUSP_DATABASE_PASSWORD");
const db = new DBConnection("odbc", "ousp", dbUser, dbPassword);
const output = SelectBuilder.from("costcenter", db, "mariadb").limit(10).offset(10).toSQL();
// SELECT * FROM costcenter LIMIT 10 OFFSET 10