SQL中存储过程:
create proc [dbo].[pc_GetSerialNum]
(
@name nchar(10),
@pass nchar(10),
@countryId int
)
as
declare @serialNum nchar(10)
select @serialNum=max([serialnum]) from [user] where name=@name
if @serialNum is null 
insert into [User](Name,Pass,CountryId,SerialNum) values(@name,@pass,@countryId,'0001')
else
begin
select @serialNum=RIGHT('0000'+cast(CAST(@serialNum as int)+1 as varchar),4)
if @serialNum='9999'
begin
insert into [User](Name,Pass,CountryId,SerialNum) values(@name,@pass,@countryId,'9999')
end
else
begin
insert into [User](Name,Pass,CountryId,SerialNum) values(@name,@pass,@countryId,@serialNum)
end
end
select [name],[pass],[serialnum],[countryid] from [user]
比如我插入(‘wyf’,'123',2)
为什么在数据库中调试时会插入两条记录,
而在代码中调用这段存储过程却只插入一条记录?