34,590
社区成员
发帖
与我相关
我的任务
分享
CREATE PROCEDURE Member_ADD
@UserName nvarchar(50),
@PassWord nvarchar(50)
AS
BEGIN
INSERT INTO [Member](
[UserName],[PassWord]
)VALUES(
@UserName,@PassWord
)
SET @UserId = @@IDENTITY --获取INSERT后的主键
END
BEGIN
UPDATE [Member]
SET
UserIdPath =@UserIdPath + ',' + @UserId --组成id路径,如 1,2,3,4,5
WHERE Id=@UserId --很担心这里,不知道并发量大@UserId会不会错乱,或上面@@IDENTITY 没返回值的时候就执行到这里了
END
--几种情况,参考吧
INSERT INTO [Member]( [UserName],[PassWord] )
OUTPUT UserId into @UserId --获取主键
VALUES( @UserName,@PassWord )
--或者指定获取标识值
ident_current('dbo.tablename')--指定表
@@identity --全局当前标识
scope_identity --会话当前标识