Durch die Verwendung von setDataBuffer mit einem booleschen Wert in C++ wird der korrekte Integer an einen booleschen Wert in C++ gebunden. Leider gibt es in OCCI kein getBoolean, weshalb unter Umständen mehr Portabilität erreicht werden kann, wenn man int beziehungsweise char oder rset->getInt(1) anstelle der Bindung verwendet. (Anmerkung: In diesen Tests gibt es anscheinend einen Fehler in OCCI: Die Anwendung von getInt(1) auf eine CHAR-Spalte wurde nur mit to_number(bool) beziehungsweise bool+0 ausgeführt.)
Bei der Erstellung einer booleschen Datenspalte sollte darauf geachtet werden, dass die Spalte entsprechend „nullfähig“ ist. Wird eine Spalte mit zwei möglichen Werten nicht mit NOT NULL eingegrenzt, erlaubt man drei mögliche Werte: true, false und unknown. Das ist meist nicht beabsichtigt und die Host-Sprachenumgebungen müssen sich dann mit der Möglichkeit der Ausgabe einer NULL befassen. Unter gewissen Umständen können zwei beziehungsweise drei Werte akzeptabel sein. Diese SQL beschränkt einen booleschen Wert auf nur zwei Werte:
Oracle SQL erfordert aber trotzdem einen Bedingungsoperator, weswegen man nicht darum herumkommt, eine Prüfung auf den tatsächlichen Wert (1 oder 0) durchzuführen. Allerdings lassen sich diese Werte in einem Standardisierungspaket verbergen. Hier ein Beispiel dafür, wie über ein PL/SQL-Paket die Schlüsselwörter true und false wieder verwendet und exponiert werden können:
Neueste Kommentare
Noch keine Kommentare zu Eine wirkungsvolle Konfiguration für boolesche Spaltenwerte
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.