0
我未能谷歌這種情況下:我想插入新的行到(時隙)表,一些記錄(由WHERE子句選擇),並添加3列作爲用戶定義功能(計算空閒時隙日期,開始和結束時間)。即使UDF返回多於一行,也必須運行。SQL Server:結合SELECT和相關的UDF結果
基於微軟的有關使用UDF建議:
SELECT ContactID, FirstName, LastName, JobTitle, ContactType
FROM dbo.ufnGetContactInformation(1209);
我想出了這個概念:
INSERT INTO PlanTimeSlots (........................)
SELECT
PRJ.ID as RID,
GST.SlotDate as SlotDate,
GST.SlotStart as TimeStart,
GST.SlotEnd as TimeEnd,
PRJ.WPGroupID as WPGroupID,
45 as Priority
FROM
PlanRJ as PRJ
LEFT JOIN
(SELECT
SlotDate, SlotStart, SlotEnd
FROM
dbo.GetSuitableTimeSlot(PRJ.ID, PRJ.WPGroupID,
PRJ.DateReqBy, PRJ.DurationMin)) AS GST ON GST.JID = PRJ.ID
WHERE
........;
所以我冗餘傳遞一個RID的UDF,這是返回GST.JID ,因此將UDF結果集加入主選擇中有一個關鍵。
這是行,還是有更好的解決方案?它將與數百到數千個條目一起工作,我不確定這個概念是否可以很好地發揮作用。