Tablo Değişkenleri ve Sıcaklık Tabloları arasındaki farkları okudum ve Tablo Değişkeni ile ilgili aşağıdaki sorun üzerinde tökezledim. Takip ettiğim makalelerde bahsedilen bu sorunu görmedim.SQL Server 2005 Tablo Değişken Güncelleştirme Sorunu
XML veri türü aracılığıyla bir seri PK'yi geçiriyorum ve her iki geçici tablo yapısında da kayıtları başarıyla oluşturuyorum. Temp tablolarındaki diğer alanları güncellemeyi denediğimde, Tablo Değişkeni başarısız olur, ancak Sıcaklık Tablosunun Güncelleme Bildirimi ile ilgili bir sorunu yoktur. Farklılaşmak için neye ihtiyaç var? " skaler değişkeni bildirmeniz gerekir @: son güncelleme ifadesi orada
CREATE PROCEDURE ExpenseReport_AssignApprover
(
@ExpenseReportIDs XML
)
AS
DECLARE @ERTableVariable TABLE ( ExpenseReportID INT,
ExpenseReportProjectID INT,
ApproverID INT)
CREATE TABLE #ERTempTable
(
ExpenseReportID INT,
ExpenseReportProjectID INT,
ApproverID INT
)
INSERT INTO @ERTableVariable (ExpenseReportID)
SELECT ParamValues.ID.value('.','VARCHAR(20)')
FROM @ExpenseReportIDs.nodes('/Root/ExpenseReportID') as ParamValues(ID)
INSERT INTO #ERTempTable (ExpenseReportID)
SELECT ParamValues.ID.value('.','VARCHAR(20)')
FROM @ExpenseReportIDs.nodes('/Root/ExpenseReportID') as ParamValues(ID)
UPDATE #ERTempTable
SET ExpenseReportProjectID = ( SELECT TOP 1 ExpenseReportProjectID
FROM ExpenseReportItem
WHERE(ExpenseReportID = #ERTempTable.ExpenseReportID))
UPDATE @ERTableVariable
SET ExpenseReportProjectID = ( SELECT TOP 1 ExpenseReportProjectID
FROM ExpenseReportItem
WHERE(ExpenseReportID = @ERTableVariable.ExpenseReportID))
Hata: Ben burada
SP parçacıkları ve Sonuçlar vardır ... o Tablo Değişkenler söz artırmak hız yararlanmak istiyoruz ERTableVariable". Son güncelleme dışarı yorum zamanExpenseReportProjectID #ERTempTable güncellenir:
Teşekkürler, bunu benim çantamın içine koyacağım ... –