gpt4 book ai didi

sql - 从 sql 中的标量函数返回 2 列值

转载 作者:行者123 更新时间:2023-12-03 09:26:44 24 4
gpt4 key购买 nike

有没有一种方法可以在 SQL 标量函数中用一个变量返回 2 个值

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

最佳答案

根据定义,标量函数返回单个值:

User-defined scalar functions return a single data value of the type defined in the RETURNS clause.

来源:Types of Functions on TechNet

如果您想返回多个值,则应使用表值函数。

您还可以尝试以某种方式将两个 SMALLINT 值打包为一个 INT 或将它们转换为带有某种分隔符的字符串,但这可能会变得复杂,而且实际上并不(在大多数情况下)是必要的。

关于sql - 从 sql 中的标量函数返回 2 列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19402474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com