在 T-SQL 中,这是允许的:
DECLARE @SelectedValue int
SELECT @SelectedValue = MyIntField FROM MyTable WHERE MyPrimaryKeyField = 1
因此,有可能获取一个 SELECT 的值并将其填充到一个变量中(当然,前提是它是标量)。
如果我在存储过程中使用相同的选择逻辑:
CREATE PROCEDURE GetMyInt
AS
SELECT MyIntField FROM MyTable WHERE MyPrimaryKeyField = 1
我可以得到这个存储过程的输出并将其填充到一个变量中吗?
比如:
DECLARE @SelectedValue int
SELECT @SelectedValue = EXEC GetMyInt
(我知道上面的语法是不允许的,因为我试过了!)