SQL Server:设置多个值,将它们分配为默认值

Sah*_*rma 1 sql t-sql sql-server

SET @StartDate = NULL,
    @InitialLoopValue=NULL,
    @FinalLoopValue = NULL, @RootId = NULL, @MakeId = NULL, @CityId = NULL, 
    @CountOfCarsUpdated = NULL, @Url = NULL, @MakeName = NULL, @RootName = NULL, 
    @CityName = NULL, @Content = NULL, @SellInquiryId = NULL, @SellerType = NULL,@imei = NULL;
Run Code Online (Sandbox Code Playgroud)

我有这么多变量,我得到这个错误.

但是,当我SET单独为每个默认分配放置它的工作正常但这太冗长了.

我该如何纠正?

Luk*_*zda 7

您可以使用SELECT一次分配多个变量.

SELECT @StartDate = NULL,
       @InitialLoopValue=NULL,
       @FinalLoopValue = NULL, @RootId = NULL,
       @MakeId = NULL, @CityId = NULL, 
       @CountOfCarsUpdated = NULL, @Url = NULL,
       @MakeName = NULL, @RootName = NULL, 
       @CityName = NULL, @Content = NULL,
       @SellInquiryId = NULL, @SellerType = NULL,@imei = NULL;
Run Code Online (Sandbox Code Playgroud)

注意:未分配变量的默认值是NULL这样的,因此不需要= NULL.

DECLARE @v INT;
SELECT @v
-- NULL
Run Code Online (Sandbox Code Playgroud)