Sybase中默认每个DML语句是一个事务,因此,正确地处理事务和错误就很重要了。
EXEC sp_procxmode 'spname', 'unchained' 让存储过程不在事务链模式中。
create procedure procTransationTest
(
@param1 int,
@param2 char(20)
)
as
declare @error int
declare @rowcount int
begin transaction
insert table1 (col1, col2) values (@param1, @param2)
select @error = @@error, @rowcount = @@rowcount
if (@error != 0)
begin
Rollback transaction
raiserror 99999 "error inserting to table1"
return 2 --2代表错误
end
if (@rowcount !> 0)
begin
Rollback transaction
raiserror 99999 "No row affected"
return 1 --1代表警告
end
commit transaction
分享到:
相关推荐
Rose内存数据库是将所有数据加载到物理内存,不需要访问磁盘就直接访问数 据,从而获得极高的存取速度和极强的并发访问...现复杂的业务逻辑,通过编写数据库脚本和存储过程实现以前通过C/C++编程才 能实现的强大功能。
另外Cache Server拥有强大的编程能力,拥有业内功能最强大的内存数据库脚本,使Cache Server不只作为数据的高速缓存服务器,更能够实现复杂的业务逻辑,通过编写数据库脚本和存储过程实现以前通过C/C++编程才能实现...
另外Cache Server拥有强大的编程能力,拥有业内功能最强大的内存数据库脚本,使Cache Server不只作为数据的高速缓存服务器,更能够实现复杂的业务逻辑,通过编写数据库脚本和存储过程实现以前通过C/C++编程才能实现...
有无 第四代语言的开发平台——第四代语言具有非过程语言的设计方法,用户不需编写复杂的 过程性代码,易学、易懂、易维护。有无面向对象的设计平台——面向对象的设计思想十 分接近人类的逻辑思维方式,便于开发和...
本书涉及不同平台上数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,通过本书读者可以系统地学习到sql 的知识和方法。 本书注重实用性,操作性很强,适合于sql 的初学者学习...
分片、分布处理、授权、事务恢复等的必要信息 17、数据分片有三种基本方法:水平分片、垂直分片、混合分片 18、定义各类片段要遵守的规则:完备性条件、可重构条件、不相交条件 19、所谓数据分布是指分布式数据库中...
动态INCLUDE用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面...
在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。 该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下: 1. ...
在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。 该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下: 1. ...
动态INCLUDE用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面...