Zitat Zitat von Robi
Hi *all
kann ich in einem create view einen eindeutigen Begriff je Satz vergeben? Habe identity column versucht, das geht aber anscheinend nur bei create table. Lass ich mir im SQL mit RRN(viewname) die Satznr anzeigen, so ist das die Satznr. der 1. Datei und daher manchmal doppelt. Ich suche aber die möglichkeit genau einen 'Satz' der view anzusprechen.
Ich weiß natürlich, das sich die View immer dann ändert, wenn sich in der View verbundene Dateien ändern.
Hat jemand eine Idee ?

Gruß Robi
Wenn Du mehrere Dateien joinst, kannst Du auch für jede Datei die relative Satz-Nr. abfragen. Dein eindeutiger Schlüssel besteht dann aus der Kombination dieser relativen Satz-Nr.
PHP-Code:
Create View MySchema/MyView as
Select RRN(a), RRN(b), a.*, b.*
   
from FileA a join FileB b on a.Key1 b.Key1 
Es gibt auch noch andere Möglichkeiten eine laufende Nummerierung zu erhalten.

Aber alle diese Möglichkeiten führen zu einer extrem bescheidenen Performance, da Indices nur über Spalten in den Basis-Dateien gebildet werden können. Wenn Du also auf solche Konstrukte oder die relative Satz-Nr. zugreifen möchtest, wird wahrscheinlich für jede einzelne Datei ein Table Scan durchgeführt und das dauert u.U. wenn so ein paar Millionchen Sätze in den Dateien vorhanden sind.

Wenn die einzelnen Dateien jeweils einen unique key haben, so ist der eindeutige Schlüssel in deiner View die Kombination aller dieser Schlüssel-Felder. Greifst Du damit zu, kann der Optimizer die unique constraints oder Indices verwenden um auf die Dateien zuzugreifen.

Birgitta