gpt4 book ai didi

sql - Transact SQL子查询调用函数的语法不正确

转载 作者:行者123 更新时间:2023-12-03 08:17:48 25 4
gpt4 key购买 nike

我在'。'附近收到错误的语法。并且在以下代码中似乎无法确定原因:

select 
o.object_id,
(select top 1 Zone from dbo.getzone(o.object_id)) as Zone from object as o

getzone是一个表值函数,当我直接引用它或将特定的object_id放入其中时,它可以完美地工作,但是每次尝试使其动态时,都会出现语法错误。

我想念什么?

最佳答案

你不能那样做。您需要有一个仅返回一个结果的标量版本。如果需要,它可以只是包装脚本。像这样:

CREATE FUNCTION [dbo].[getSingleZone](@object_id varchar(20))
RETURNS varchar(20)
AS
BEGIN
DECLARE @Zone varchar(20)
select @Zone = max(Zone) from dbo.getzone(@object_id)
return @Zone
END

select
o.object_id,
dbo.getSingleZone(o.object_id) as Zone from object o

我不知道您的数据类型,所以我猜到了。

关于sql - Transact SQL子查询调用函数的语法不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29704434/

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