測試我的第一個表值函數,即使在SELECT工作時,我也沒有收到數據。
不返回任何東西:表值函數不返回數據
select * from GetMvtHistory('C1505 BLACK')
返回正確的數據:
select row_number() OVER (order by DocId) as Id, detailId, Quant, 0 as Cumul
FROM vwDetailsHist
WHERE refer = 'C1505 BLACK'
ORDER BY DocId;
TVF代碼:
ALTER FUNCTION [dbo].[GetMvtHistory]
(@Ref char(10))
RETURNS @MvtHist table
(
Id int,
[DetailId] int NULL,
[Quant] int NULL,
[Cumul] int NULL
)
WITH EXEC AS CALLER
AS
BEGIN
INSERT into @MvtHist
select row_number() OVER (order by DocId) as Id, detailId, Quant, 0 as Cumul
FROM vwDetailsHist
WHERE refer = @Ref
ORDER BY DocId;
RETURN
我在想什麼?謝謝 !
vwDetailsHist.refer是什麼類型? – usr
這也不需要是一個多語句TVF。內聯TVF通常表現更好。 –