Zitat Zitat von dschroeder Beitrag anzeigen
Mir hat Bob heute auch noch etwas beigebracht. Ich dachte, es wäre klar, wie Null Indikator in SQL arbeiten. Also 0, wenn das Feld OK ist, -1, wenn das Feld NULL ist.
Aber wusstet ihr, dass der Null Indikator auch -2 sein kann? Oder einen Wert zwischen 1 und 32767 haben kann?
Wahrscheinlich wusstet ihr es alle :-)
Die Indikator-Variable kann sogar -5 und -7 sein
Dazu muss man allerdings im SET OPTION Statement EXTIND=*YES setzen, damit man mit den extended Indikator-Variablen-Werten arbeiten kann.
Diese kann man dann beim dynamischen SQL verwenden, wenn z.B. unterschiedliche Where-Bedingungen mit einer unterschieldichen Anzahl an Parametermarkern definiert werden.
Anstatt anschließend x Open oder Execute Statements zu definieren, setzt man die Indikator-Variablen entsprechend und kann dann beim OPEN bzw. EXECUTE mit USING SUBSET alle Host-Variablen incl. den zugehörigen (erweiterten) Indikatoren angeben.
Die extended Indicator Variablen können z.B. auch in einem (statischen) Update-Statement verwendet werden, bei dem alle/viele Spalten aufgelistet sind, jedoch nur einige upgedated werden sollen.
-5 bedeutet Default-Wert verwenden und bei -7 wird die Host-Variable ignoriert.
Sql indicator variables used assign special values