Объявить скалярную переменную хранимой процедуры - PullRequest
4 голосов
/ 06 марта 2012
CREATE PROCEDURE Customer
( FName varchar(20),LName varchar(20),Birthdate datetime,Email Nvarchar(20),Houseno varchar(20),Street varchar(20),City varchar(20),Country varchar(20),Pincode int,Phno varchar(13),Mobile varchar(13),CustomerId varchar(20),Password varchar(20),ConfirmPassword varchar(20))

AS

Begin

   Insert into Registration values 
  (@FName,@LName,@Birthdate,@Email,@Houseno,@Street,@City,@Country,
   @Pincode,@Phno, @Mobile,@CustomerId,@Password,@ConfirmPassword)

End

При сохранении возникает ошибка:

Имя F нужно объявить как скалярную переменную

Что не так с этим кодом?

Ответы [ 3 ]

3 голосов
/ 06 марта 2012

Вам не хватает знака "@" для объявлений параметров.

create procedure Customer
@FName varchar(20),@LName varchar(20) .....
0 голосов
/ 16 августа 2017

Вы должны определить свою локальную переменную как @local_variable, см. MSDN

@ local_variable Имя переменной.Имена переменных должны начинаться со знака (@).Имена локальных переменных должны соответствовать правилам для

. С @ он сообщает sqlserver, что это локальная переменная.Также вы определяете @ во время вставки.

Как указано выше, просто добавьте @ перед каждым именем параметра.

0 голосов
/ 06 марта 2012

Переменные, которые вы пытаетесь вставить, не были правильно объявлены. Вы должны поставить перед всеми объявлениями префикс @.

create procedure Customer
(@FName varchar(20),@LName varchar(20),@Birthdate datetime,@Email Nvarchar(20),@Houseno varchar(20),@Street varchar(20),@City varchar(20),@Country varchar(20),@Pincode int,@Phno varchar(13),@Mobile varchar(13),@CustomerId varchar(20),@Password varchar(20),@ConfirmPassword varchar(20))
AS
Begin
Insert into Registration values (@FName,@LName,@Birthdate,@Email,@Houseno,@Street,@City,@Country,@Pincode,@Phno,
@Mobile,@CustomerId,@Password,@ConfirmPassword)
End
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...