簡體   English   中英

如何在T-SQL中分配多個內聯變量?

[英]How do I assign multiple inline variables in T-SQL?

我試圖從子查詢中選擇多個變量,以便以后使用。 這是我的代碼:

DECLARE @MarketplaceName VARCHAR(50),
    @ProductFieldID INT,
    @FromValue VARCHAR(255) = (
        SELECT mcvm.MarketplaceName,
            mcvm.ProductFieldID,
            mcvm.FromValue
        FROM [Meta].[MarketplaceCategoryValueMapping] AS mcvm
        WHERE mcvm.MarketplaceCategoryValueMappingID = @MapID
        )

我收到以下錯誤消息:

當未使用EXISTS引入子查詢時,只能在選擇列表中指定一個表達式。

我正在嘗試從mcvm.MarketplaceName等映射@MarketplaceName

我想要的是不必為每個變量編寫多個SELECT語句。

你想這樣做嗎?

DECLARE @MarketplaceName VARCHAR(50),
        @ProductFieldID INT,
        @FromValue VARCHAR(255)
SELECT  @MarketplaceName    = mcvm.MarketplaceName,
        @ProductFieldID     = mcvm.ProductFieldID,
        @FromValue          = mcvm.FromValue
FROM [Meta].[MarketplaceCategoryValueMapping] AS mcvm
WHERE mcvm.MarketplaceCategoryValueMappingID = @MapID

這就是你如何做到的。 此外,這不是一個子查詢,它只是一個查詢。

DECLARE @MarketplaceName VARCHAR(50),
        @ProductFieldID INT,
        @FromValue VARCHAR(255)


SELECT @MarketplaceName = mcvm.MarketplaceName,
       @ProductFieldID = mcvm.ProductFieldID,
       @FromValue = mcvm.FromValue
FROM [Meta].[MarketplaceCategoryValueMapping] AS mcvm
WHERE mcvm.MarketplaceCategoryValueMappingID = @MapID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM