我写了一个存储过程,内容如下:
create proc AddCustomer
@Name nvarchar(50),
@Sex nvarchar,
@IDType nvarchar(50),
@IDNumber nvarchar(50),
@Desposit money,
@Phone nvarchar(50),
@Address nvarchar(50),
@Desource nvarchar(50),
@Re nvarchar(50),
@Result int output
as
if exists(select * from PersonIdent where PType=@IDType and PNumber=@IDNumber)
begin
set @Result = -1;
return @Result;
end
insert into PersonIdent (PType,PNumber) values(@IDType,@IDNumber)
insert into ClientInfo (CName,CSex,CPID,CDeposit,CPhone,CAddress,CDesource,CRe)
values(@Name,@Sex,@@identity,@Desposit,@Phone,@Address,@Desource,@Re)
set @Result = @@rowcount
return @Result
go然后运行
declare @Result int
exec AddCustomer
@Name='Tom',
@Sex='男',
@IDType='身份证',
@IDNumber='9xifs',
@Desposit=123.22,
@Phone='64646464646',
@Address='9911199',
@Desource='china',
@Re='rerererere',
@Result output
报错信息如下:
消息 119,级别 15,状态 1,第 2 行
必须传递参数 10,并以 '@name = value' 的形式传递后续的参数。一旦使用了 '@name = value' 形式之后,所有后续的参数就必须以 '@name = value' 的形式传递。这是哪里错了?