当前位置: 代码迷 >> Sql Server >> 新会员注册的存储过程如何写呢
  详细解决方案

新会员注册的存储过程如何写呢

热度:108   发布时间:2016-04-24 08:56:01.0
新会员注册的存储过程怎么写呢?
有二个表,会员资料列表,会员金额列表

在会员注册时,向会员资料列表添加数据的同时在会员金额列表中插入刚注册的新ID
------解决思路----------------------

-- 一次写一个数据,可以使用  @@IDENTITY 
create table vip(id int identity , name varchar(10)) 
go
declare @id int 
insert into vip(name) values('zhangsan')
set @id = @@IDENTITY
print 'new id : ' + cast(@id as varchar(10))
go 10
drop table vip 
go

开始执行循环

(1 行受影响)
new id : 1

(1 行受影响)
new id : 2

(1 行受影响)
new id : 3

(1 行受影响)
new id : 4

(1 行受影响)
new id : 5

(1 行受影响)
new id : 6

(1 行受影响)
new id : 7

(1 行受影响)
new id : 8

(1 行受影响)
new id : 9

(1 行受影响)
new id : 10
批处理执行已完成 10 次。



------解决思路----------------------

create PROCEDURE [Regiester]
@UserName nvarchar(50),
@Pwd nvarchar(10)
as
begin
declare @userId as char(36);
set @userId=newid();
begin tran tran_register

DECLARE @tran_error int;
SET @tran_error = 0;
insert into [User]([UserId],[UserName],[Pwd])values(@userId,@UserName,@Pwd);
SET @tran_error = @tran_error + @@ERROR;
insert into 金额表...values(@userId)
SET @tran_error = @tran_error + @@ERROR;

if(@tran_error>0)
begin
rollback tran;
end
else
begin
commit tran;
end
end
  相关解决方案