0
查詢我有一個查詢,看起來像這樣:需要幫助的改寫是使用遊標
DECLARE Match_Cursor CURSOR
FOR
SELECT ID,UserKey,TypeCode
FROM [DB1].Table1 as t1
OPEN Match_Cursor
FETCH NEXT FROM Match_cursor INTO @ID,@UserKey,@TypeCode;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
INSERT INTO #TempTable
SELECT t2.Name, t2.Address, t2.Country, @UserKey, @TypeCode
FROM [DB1].[DBO].udf_TableFunction(@ID) as t2
where @typeCode = 142 AND t2.Country = 'US'
FETCH NEXT FROM Match_cursor INTO @ID,@UserKey,@TypeCode;
END
SELECT * FROM #TempTable
有沒有人有這個重寫使用聯接建議?假設t1.ID
和t2.ID
之間有外鍵關係。
是什麼udf_TableFunction返回?問題是它返回一行。它可以適應返回所有行(如果ID爲NULL),在這種情況下,你可以加入它... – Sparky 2010-01-30 00:37:41
它返回一個行集合。如果傳入null,則不能更改爲返回所有行,但將永遠不會傳遞null。 – 2010-01-30 00:42:45
需要查看'udf_TableFunction'的內容 – 2010-01-30 01:34:15