使用 SET from SELECT 语句不起作用

Use SET from SELECT statement doesn't work

为什么我不能将变量设置为select查询结果?我收到一个错误

Incorrect syntax near 'tbl'

代码:

DECLARE @AgentNumber INT = 2428
DECLARE @Node HIERARCHYID

SET @Node =  -- this is throwing me syntax error
    (SELECT Node 
     FROM CM.ERGO_HIERARCHY
     WHERE AgentNumber = @AgentNumber) tbl

我知道下面的代码有效,但为什么我不能简单地使用 SET ?

SELECT @Node = Node    -- that works
FROM
    (SELECT Node 
     FROM CM.ERGO_HIERARCHY
     WHERE AgentNumber = @AgentNumber) tbl

试试看:

SET @Node = 
(
SELECT TOP 1 Node 
FROM CM.ERGO_HIERARCHY
WHERE AgentNumber = @AgentNumber
)