0

以下のトリガーに問題があります。助けてくれてありがとう。

CREATE TRIGGER upper_case ON osoba
AFTER INSERT AS
BEGIN
    DECLARE @imie VARCHAR(25)
    DECLARE @new_imie VARCHAR(25)
    DECLARE my_cursor CURSOR FAST_FORWARD FOR SELECT imie FROM INSERTED

    OPEN my_cursor
    FETCH NEXT FROM my_cursor INTO @imie

    WHILE @@FETCH_STATUS = 0
        BEGIN
            @new_imie = UPPER(SUBSTRING(@imie, 1, 1)) + SUBSTRING(@imie, 2,LEN(@imie))
        END
        UPDATE osoba
        SET imie = @new_imie WHERE imie = @imie
END

エラーメッセージ:

メッセージ 102、レベル 15、状態 1、手順 upper_case、行 13
'@new_imie' 付近の構文が正しくありません。
メッセージ 102、レベル 15、状態 1、手順 upper_case、行 17
'END' 付近の構文が正しくありません。

4

3 に答える 3

1

SET割り当てるときに使用する必要があります@new_imie( msdn ):

SET @new_imie = UPPER(SUBSTRING(@imie, 1, 1)) + SUBSTRING(@imie, 2,LEN(@imie));
于 2013-10-29T22:05:29.703 に答える
0

@new_imie への割り当てには、その前に SET キーワードが必要です...

   SET @new_imie = UPPER(SUBSTRING(@imie, 1, 1)) + SUBSTRING(@imie, 2,LEN(@imie))
于 2013-10-29T22:05:20.843 に答える