0

まあ、どうやらこれはうまくいきません。「'=' 付近の構文が正しくありません」というエラーが表示されます。ストアド プロシージャ内で変数の値を複数回変更することは可能ですか?

この例のように:

    DECLARE @columnCounter INT
    SET @columnCounter = 0

    DECLARE @columnName VARCHAR(255)
    SET @columnName = 'A'

    WHILE (@columnCounter < 4)
    BEGIN
        IF (@columnCounter == 1)
        BEGIN
            SET @columnName = 'B'
        END
        IF (@columnCounter == 2)
        BEGIN
            SET @columnName = 'C'
        END
        IF (@columnCounter == 3)
        BEGIN
            SET @columnName = 'D'
        END
    END

ありがとうございました。

4

2 に答える 2

2

です==。Transact-SQL は、次のように単純な=等値比較を使用します。

DECLARE @columnCounter INT;
SET @columnCounter = 0;

DECLARE @columnName VARCHAR(255);
SET @columnName = 'Set_To_Value_ID';

WHILE (@columnCounter < 4)
BEGIN
    IF (@columnCounter = 1)
    BEGIN
        SET @columnName = 'Set_To_Variable_ID';
    END
    IF (@columnCounter = 2)
    BEGIN
        SET @columnName = 'Changed_In_SP';
    END
    IF (@columnCounter = 3)
    BEGIN
        SET @columnName = 'Set_To_Comment_Input';
    END
    set @columnCounter += 1;
END
于 2012-11-12T13:38:49.280 に答える
1
IF (@columnCounter == 1)

あるべき比較は、多くの言語で共通の構文ですが===t-sql ではありません。

http://msdn.microsoft.com/en-us/library/ms175118(v=sql.100).aspx

于 2012-11-12T13:39:16.547 に答える