Skip to main content

Dynamisches SQL mit Platzhalter

Eine String-Variable so formatieren, dass man einen Platzhalter im Text durch einen Variableninhalt ersetzt. So kann man einen optionalen Filter z.B. in einer Prozedur einbauen.

DECLARE sql LONG VARCHAR;
DECLARE ls_monatsfilter VARCHAR(100);

SET sql = 'SELECT *
FROM kunden
--$MONATSFILTER$';

SET ls_monatsfilter = 'WHERE monat = 5';

SET sql = REPLACE(sql, '--$MONATSFILTER$', ls_monatsfilter);

EXECUTE IMMEDIATE WITH QUOTES sql;