Der beste Weg, PK Guid der eingefügten Zeile zu erhalten

9

Ich habe diese Frage gelesen Identität einer eingefügten Zeile. Meine Frage ist irgendwie verwandt.

Gibt es eine Möglichkeit, die GUID für eine eingefügte Zeile zu erhalten? Die Tabelle, mit der ich arbeite, hat eine GUID als Primärschlüssel (standardmäßig neuid), und ich möchte diese GUID nach dem Einfügen der Zeile abrufen.

Gibt es etwas wie @@IDENTITY , IDENT_CURRENT oder SCOPE_IDENTITY für Guids?

    
Doctor Jones 01.05.2009, 09:53
quelle

2 Antworten

12

Sie können die OUTPUT-Funktionalität verwenden, um die Standardwerte zurück in einen Parameter zu bringen.

%Vor%

Ich muss jedoch sagen, seien Sie vorsichtig mit einem eindeutigen Bezeichner als Primärschlüssel. Die Indizierung auf einer GUID ist extrem schlecht, da alle neu erzeugten Guids in die Mitte eines Indexes eingefügt und erst am Ende hinzugefügt werden müssen. Es gibt neue Funktionalität in SQL2005 für NewSequentialId (). Wenn bei Ihren Guids keine Unklarheit erforderlich ist, ist dies eine mögliche Alternative.

    
Robin Day 01.05.2009, 10:03
quelle
2

Ein weiterer sauberer Ansatz, wenn Sie eine einzelne Zeile einfügen

%Vor%     
rjv 10.11.2015 13:58
quelle