Arrays 如何在sql server 2012中初始化变量或数组

Arrays 如何在sql server 2012中初始化变量或数组,arrays,tsql,variables,loops,Arrays,Tsql,Variables,Loops,我想在WHILE循环中初始化一个变量,以便在后续步骤中使用该变量。 如何为SELECT语句初始化varchar数组?我是这样使用它的: DECLARE @SerialNumber AS VARCHAR WHILE ( @SerialNumber = SELECT UnitInContainer.UnitSerialNumber FROM UnitInContainer WHERE ContainerCode = @Code ) I

我想在WHILE循环中初始化一个变量,以便在后续步骤中使用该变量。
如何为SELECT语句初始化varchar数组?我是这样使用它的:

DECLARE @SerialNumber AS VARCHAR

WHILE (
        @SerialNumber = SELECT UnitInContainer.UnitSerialNumber
        FROM UnitInContainer
        WHERE ContainerCode = @Code
        ) IS NOT NULL
    SELECT TOP 1 @CreatedUserName = UnitInStep.CreatedByUserName,
        @CreatedOn = UnitInStep.CreatedOn,
        @DeactivatedOn = UnitInStep.DeactivatedOn,
        @UnitInContainerID = UnitInStep.UnitInContainerID,
        @UnitSerialNumber = UnitInStep.UnitSerialNumber,
        @ContainerCode = UnitInStep.ContainerCode,
        @StepSequence = UnitInStep.StepSequence,
        @RouterItemName = UnitInStep.RouterItemName,
        @RouterRevisionNumber = UnitInStep.RouterRevisionNumber
    FROM UnitInStep
    INNER JOIN RouterStepAttribute
        ON UnitInStep.RouterItemName = RouterStepAttribute.RouterItemName
            AND UnitInStep.RouterRevisionNumber = RouterStepAttribute.RouterRevisionNumber
            AND UnitInStep.StepSequence = RouterStepAttribute.StepSequenc
    WHERE GETDATE() BETWEEN UnitInStep.CreatedOn
            AND UnitInStep.DeactivatedOn RouterStepAttribute.StepTypeStepTypeValue = 'TestChamberAutoResult'
        AND UnitInStep.UnitSerialNumber = @SerialNumber
    END
试试这个:

DECLARE @SerialNumber AS VARCHAR

SELECT @SerialNumber = UnitInContainer.UnitSerialNumber
    FROM UnitInContainer
    WHERE ContainerCode = @Code

WHILE (@SerialNumber is not null)
BEGIN
    -- The longer select using @SerialNumber in the where clause

    SELECT @SerialNumber = UnitInContainer.UnitSerialNumber
        FROM UnitInContainer
        WHERE ContainerCode = @Code
END

它重复较短的select,但如果出现问题,您可以将其放入函数中。

请格式化您的代码,以便我们阅读。