SQL Server 2005 Tabellenvariablenaktualisierungsproblem

8

Ich habe über die Unterschiede zwischen Tabellenvariablen und temporären Tabellen gelesen und stolperte über das folgende Problem mit der Tabellenvariablen. Ich habe dieses Problem in den Artikeln, die ich verfolgt habe, nicht erwähnt.

Ich gebe eine Reihe von PKs über einen XML-Datentyp ein und erstelle erfolgreich die Datensätze in beiden temporären Tabellenstrukturen. Wenn ich versuche, weitere Felder in den temporären Tabellen zu aktualisieren, schlägt die Tabellenvariable fehl, aber die Temp-Tabelle hat kein Problem mit der Aktualisierungsanweisung. Was muss anders gemacht werden? Ich möchte den Geschwindigkeitsschub nutzen, den Tabellenvariablen versprechen ...

Hier sind die SP-Schnipsel und Ergebnisse:

%Vor%

Fehler bei der letzten Update-Anweisung dort: Muss die Skalarvariable "@ERTableVariable" deklarieren.

ExpenseReportProjectID wird in #ERTempTable aktualisiert, wenn die letzte Aktualisierung auskommentiert ist:

    
Dining Philanderer 06.11.2008, 16:49
quelle

2 Antworten

16

Ein schneller Test funktioniert, wenn ich die Tabelle var referenz in der letzten Aktualisierung literalisiere:

%Vor%

Sie können auch ein "Update von" verwenden:

%Vor%

Der Join könnte mehrere Zeilen zurückgeben, aber nur einer wird "kleben". Art eines nicht-deterministischen Updates wie 'TOP 1'.

    
Corbin March 06.11.2008, 19:42
quelle
0

Versuchen Sie Folgendes:

%Vor%     
TcKs 06.11.2008 16:53
quelle

Tags und Links