whileループを使用してSQLテーブルを更新しています。テーブルレコードでは、「id」はこの順序で27、28、29、30から45までです。この「id」を2、3、4、5から16まで更新しようとしています。このループですが、エラーのみが発生しています
DECLARE @a INT
DECLARE @b INT
SET @a = 2
SET @b = 27
WHILE @b < 42
BEGIN
exec sp_executesql 'UPDATE Cpart2_TEST_2 SET id = @a where id = @b
SET @a = @a + 1
SET @b = @b + 1
END
これはエラーメッセージです
1064 - SQL 構文にエラーがあります。'DECLARE @a INT の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
DECLARE @b INT
SET @a = 2
SET @b = 27
WHILE @b < 42
BEGIN
' at line 1