Непонятное сообщение об ошибке: Должна быть объявлена скалярная переменная "@Username".

У меня есть простой скрипт, обновляющий и показывающий учетную запись пользователя. (работаю с management studio 2010) Для предотвращения ошибок пользователей я хочу использовать переменную в SQL (никогда не делал этого раньше).

Если читать учебники, то все должно быть просто, как в примере ниже, но я получаю сообщение об ошибке. Когда я ищу в Интернете людей с такой же ошибкой, я вижу очень сложный код с такой же ошибкой. Кто-нибудь может дать мне подсказку.

DECLARE @Username nvarchar(256) 
Set @Username = 'theUsername'

UPDATE aspnet_Membership
SET IsLockedOut = 0
WHERE UserId IN (SELECT U.UserId
FROM aspnet_Users as U inner join aspnet_Membership M on U.UserId = M.UserId
WHERE u.UserName = @Username)
GO 
SELECT U.UserId, U.UserName, M.Password, M.IsLockedOut, U.LastActivityDate
FROM aspnet_Users as U inner join aspnet_Membership M on U.UserId = M.UserId
WHERE u.UserName = @Username

Msg 137, Level 15, State 2, Line 3 Должна быть объявлена скалярная переменная "@Username".

16
задан Luuk Krijnen 5 January 2012 в 08:33
поделиться