2012-03-06 84 views
4
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 

标量同时节约错误当属声明存储过程

FNAME必须声明为标量

哪些错误与此代码?

回答

3

您缺少参数声明的"@"符号。

create procedure Customer 
@FName varchar(20),@LName varchar(20) ..... 
0

您试图插入的变量尚未被正确声明。您必须使用@前缀所有声明。

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 
0

您必须定义本地变量@local_variable,看到MSDN

@local_variable 是一个变量的名称。变量名称必须以(@)符号开头。局部变量名称必须符合规则

使用@,它告诉sqlserver它是局部变量。你也可以在插入时定义@。

如上所有建议,只需在每个参数名称前添加@。