34,838
社区成员




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
-- 一次写一个数据,可以使用 @@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 次。