声明标量变量存储过程

时间:2012-03-06 13:16:23

标签: sql-server sql-server-2005 tsql

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 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分: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

答案 2 :(得分:0)

您必须将本地变量定义为@local_variable,请参阅MSDN

  

@local_variable   是变量的名称。变量名必须以at(@)符号开头。本地变量名称必须符合

的规则

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

如上所述,只需在每个参数名称之前添加@。