從標量函數值是療法的方式是,我們可以在SQL標量函數有一個變量返回2個值回報2個SQL
ALTER FUNCTION [report].[fGetKPI] (@metricName AS VARCHAR(50))
RETURNS SMALLINT
AS
BEGIN
DECLARE
@kipId AS SMALLINT,
@metricId as SMALLINT;
SELECT TOP 1 @kipId = [KPI_Id], @metricId = [MetricId] FROM report.[KPIDetails] WHERE [MetricName] = @metricName;
IF (@kipId IS NULL OR @metricId IS NULL)
DECLARE @Error AS INT = dbo.fThrowError('No key found for the component "' + @metricName + '"');
RETURN (select @kipId,@metricId);
END
改爲使用多語句表值函數。 –
我很好奇dbo.fThrowError的定義 –
@martin,它只是通過錯誤,帶一個函數..這不會導致問題 – user2637506