Verwendung von rdb$db_key
Verfasst: Fr 8. Apr 2022, 11:00
In einer alten Bestandsdatenbank habe ich teilweise 5 Felder (davon 3 String-Felder!) als PrimaryKeys.
Das Datenmodell würde ich als ziemlich fragwürdig bezeichnen, soll jetzt aber nicht weiter interessieren.
Im Rahmen der Programmierung habe ich so einige for-select-Durchläufe, bei denen ich in Subroutinen diverse Updates auf diese Datensätze ausführe, und zwar auch auf Datenfelder, die Bestandteil des PK sind.
Soviel ich weiß, ist doch innerhalb einer Session (Connection) rdb$db_key in jeder Tabelle eindeutig. Allerdings habe ich zu meinem Erschrecken festgestellt, dass rdb$db_key nach einem Update nicht mehr den gleichen Inhalt hat.
Wo liegt hier mein Denkfehler?
Ist rdb$db_key doch nicht eindeutig innerhalb einer aktiven Connection oder wird er dynamisch in Abhängigkeit des PK geändert? So jedenfalls ist er für mich nicht zu gebrauchen.
Nachtrag: Ich will wegen der Handlichkeit rdb$db_key als Pseudo-PK nutzen, um nicht 5 Felder in die Subroutinen übergeben zu müssen.
Das Datenmodell würde ich als ziemlich fragwürdig bezeichnen, soll jetzt aber nicht weiter interessieren.
Im Rahmen der Programmierung habe ich so einige for-select-Durchläufe, bei denen ich in Subroutinen diverse Updates auf diese Datensätze ausführe, und zwar auch auf Datenfelder, die Bestandteil des PK sind.
Soviel ich weiß, ist doch innerhalb einer Session (Connection) rdb$db_key in jeder Tabelle eindeutig. Allerdings habe ich zu meinem Erschrecken festgestellt, dass rdb$db_key nach einem Update nicht mehr den gleichen Inhalt hat.
Wo liegt hier mein Denkfehler?
Ist rdb$db_key doch nicht eindeutig innerhalb einer aktiven Connection oder wird er dynamisch in Abhängigkeit des PK geändert? So jedenfalls ist er für mich nicht zu gebrauchen.
Nachtrag: Ich will wegen der Handlichkeit rdb$db_key als Pseudo-PK nutzen, um nicht 5 Felder in die Subroutinen übergeben zu müssen.