if exists (select * from sysobjects where name='proc_register')
drop procedure proc_register
go
create procedure proc_register
@loginid nvarchar(50),
@loginpwd nvarchar(50),
@name nvarchar(50),
@address nvarchar(200),
@phone nvarchar(100),
@mail nvarchar(100),
as
insert into Users (loginid,loginpwd,name,address,phone,mail,userroleid)
values (@loginid,@loginpwd,@name,@address,@phone,@mail);
select @@identity
go
上面是一个注册的存储过程,注册后想返回用户的信息通过select @@identity找到刚注册的人但是如果人很多注册的时候select @@identity会冲突现在想在运行存储过程的时候暂时把表锁住,执行完再解锁,上面的存储过程要如何改?
@loginid nvarchar(50),
@loginpwd nvarchar(50),
@name nvarchar(50),
@address nvarchar(200),
@phone nvarchar(100),
@mail nvarchar(100),
@id int output--这儿取值
as
insert into Users (loginid,loginpwd,name,address,phone,mail,userroleid)
values (@loginid,@loginpwd,@name,@address,@phone,@mail);
select @id = @@identity
go
真的没考虑过这个问题哦,观望一下