gpt4 book ai didi

sql-server - 从 T-SQL 中上一行的 select 语句中获取值

转载 作者:行者123 更新时间:2023-12-04 02:18:15 26 4
gpt4 key购买 nike

我想获取前面select语句返回的值(类似于@@IDENTITY函数)

代码:

IF EXISTS (SELECT MyCriticalValue
FROM Units u
JOIN pUnit pu
ON pu.UnitID = u.UnitID
WHERE u.ChildUnitID = ( SELECT ps.UnitID
FROM psUnit ps
WHERE ps.Code = @CurrentCode)
AND pu.Type = 117
AND u.TypeID = 1 )
BEGIN
SET @CriticalValue = @@identity
END

我知道 @@IDENTITY 不起作用,因为它仅用于插入。是否有类似的功能可以实现我想要的功能(即从 select 语句中获取“MyCriticalValue”到变量 @CriticalValue 中,而无需两次键入整个 SELECT 语句)。

编辑:

澄清:当我在我的 SQL 脚本中达到这一点时,@CriticalValue 已经设置,我应该只在 select 语句返回任何内容时覆盖它,所以它不应该被覆盖在任何其他案例。

最佳答案

SELECT @CriticalValue = ISNULL(MyCriticalValue, @CriticalValue)
FROM Units u
JOIN pUnit pu
ON pu.UnitID = u.UnitID
WHERE u.ChildUnitID = (
SELECT ps.UnitID
FROM psUnit ps
WHERE ps.Code = @CurrentCode
)
AND pu.Type = 117
AND u.TypeID = 1;

IF @CriticalValue IS NOT NULL
...

我假设您的查询返回一个值。

关于sql-server - 从 T-SQL 中上一行的 select 语句中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32762874/

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