CREATE PROCEDURE dp_inseruser
@id char(50),
@pwd char(50),
@name char(50),
@num int
AS
BEGIN TRANSACTION
insert userinfo(id,pwd,name,num) values (@id,@pwd,@name,@num)
if @@error<>0
begin
rollback TRANSACTION
return
end
insert logininfo(m_user,m_time,m_ip) values(@name,@id,@pwd)
if @@error<>0
begin
rollback TRANSACTION
return
end
COMMIT TRANSACTION
要进行两次判断,因为两次的操作返回是不一样的
@id char(50),
@pwd char(50),
@name char(50),
@num int
AS
BEGIN TRANSACTION
insert userinfo(id,pwd,name,num) values (@id,@pwd,@name,@num)
if @@error<>0
begin
rollback TRANSACTION
return
end
insert logininfo(m_user,m_time,m_ip) values(@name,@id,@pwd)
if @@error<>0
begin
rollback TRANSACTION
return
end
COMMIT TRANSACTION
要进行两次判断,因为两次的操作返回是不一样的
解决方案 »
- vfp提示缺少函数名
- 请帮忙看看这张图片在SQL server 数据库那个位置
- 怎么对第一个表中查询到的数据,根据来查第二表
- 求条件为日期判断的SQL语句,急,感谢!
- 急求两个SQL语句。在线等!!!!!!!!!
- 学生 教师 课程 作业 需要哪些表都需要哪些字段
- Cannot resolve the collation conflict between "Latin1_General_CI_AI" and "SQL_Latin1_General_CP1_CI_
- 请问varchar和char有什么区别
- 高分请教关于DTS包的问题。
- 这个更新语句如何写?把test1.mac更新到test2.mac,条件是test1.ip=test2.ip
- 数据库的并发问题。
- 续:sql server转oracle 问题
@id char(50),
@pwd char(50),
@name char(50),
@num int
AS
declare @errorcount int
set @errorcount = 0
BEGIN TRANSACTION
insert userinfo(id,pwd,name,num) values (@id,@pwd,@name,@num)
set @errorcount = @errorcount + @error
insert logininfo(m_user,m_time,m_ip) values(@name,@id,@pwd)
set @errorcount = @errorcount + @error
if @errorcount>0
begin
rollback TRANSACTION
return
end
COMMIT TRANSACTION
GO
……
begin tran
……
if @@error<>0 goto OnError --出了错误到OnError段处理
……
commit tran
OnError: rollback tran你可以做做测试。
@id char(50),
@pwd char(50),
@name char(50),
@num int
AS
BEGIN TRANSACTION
insert userinfo(id,pwd,name,num) values (@id,@pwd,@name,@num)
if @@error<>0
begin
rollback TRANSACTION
return
end
insert logininfo(m_user,m_time,m_ip) values(@name,@id,@pwd)
if @@error<>0
begin
rollback TRANSACTION
return
end
COMMIT TRANSACTION
GO