存儲過程事務處理

原创 2007年09月15日 14:56:00

Create proc RegisterUser
 (@usrName varchar(30), @usrPasswd varchar(30),@age int, @PhoneNum varchar(20), @Address varchar(50) )
as
begin
//
显示定义并开始一个事务
begin tran
insert into USER(userName,userPasswd) values(@usrName,@usrPasswd)
if @@error<>0
begin
//
操作失败,则事务回滚
rollback tran
//
返回存储过程,并设置返回码为事务操作失败
return
1
end
insert into USERDOC(userName,age,sex,PhoneNumber,Address)
values(@Usrname,@age,@PhoneNum,@Address)
if @@error<>0
begin
//
操作失败,则事务回滚
rollback tran
return
1
end
//
如果操作执行正确,则提交事务
commit tran
return 0
end


Input
此参数只用于将信息从应用程序传输到存储过程。
InputOutput
此参数可将信息从应用程序传输到存储过程,并将信息从存储过程传输回应用程序。
Output
此参数只用于将信息从存储过程传输回应用程序。
ReturnValue
此参数表示存储过程的返回值。SQL Server 的存储过程参数列表中不显示该参数。它只与存储过程的 RETURN 语句中的值相关联。


  存储过程为主键生成新值后,通常使用存储过程中的 RETURN 语句返回该值,因此用来访问该值的参数类型是 ReturnValue 参数。

  ReturnValue 参数与其他类型的参数有一个重要的区别。通常,在 ADO.NET 中为 Command 对象配置的参数的顺序并不重要。参数名称只用来与存储过程中相应的参数相匹配。但是,对于 ReturnValue 参数,它必须是列表中的第一个参数。

  也就是说,为 Command 对象配置 ReturnValue 参数时,必须首先在代码中配置该参数,这样它才能获取集合中的第一个数字索引。如果先配置任何其他参数,ReturnValue 参数将不能正常工作。

  呵呵,这样就可以了



args[0] = new SqlParameter("@RETURN_VALUE", SqlDbType.Int );
args[0].Direction = ParameterDirection.ReturnValue;
取回值的时候用args[0].Value.ToString()

用它来做什么呢,已经想好了。在自定义数据分页时,要想获取总记录数有些麻烦,我是先填充DataSet,取到总记录数,然后清空它,再填充分页后的数据。(不知高手是怎么做的)现在打算在存储过程中获取数据集时,顺便用 return @@rowcount把数据集的行数取到手,就省了一步了。 

SQL Server在存储过程中编写事务处理代码的三种方法

SQL Server中数据库事务处理是相当有用的,鉴于很多SQL初学者编写的事务处理代码存往往存在漏洞,本文我们介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码。希望能够对您有所...

JDBC存储过程及事务处理

存储过程是由SQL语句,及其数据库相关的增强指令和流程控制语句书写的过程程序,经过数据库编译和优化后储存在数据可服务器中。利用存储过程完成应用系统的逻辑操作处理,可以提高系统的运行性能和可维护性,但会...

在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)

在 SQL Server 中数据库事务处理是个重要的概念,也稍微有些不容易理解,很多 SQL 初学者编写的事务处理代码存往往存在漏洞,本文介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正...

php调用sqlserver存储过程使用事务处理

第一次编写sqlserver存储过程并在php里调用,把脑瓜都整大了,奋战了一天多最后还是搞定了。 实现功能:在sqlserver里面实现事务处理,保证数据库操作安全; 接收sqlserver存储...

SQL Server在存储过程中编写事务处理代码的三种方法

原文来自于:SQL Server在存储过程中编写事务处理代码的三种方法SQL Server中数据库事务处理是相当有用的,鉴于很多SQL初学者编写的事务处理代码存往往存在漏洞,本文我们介绍了三种不同的方...

在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)

在 SQL Server 中数据库事务处理是个重要的概念,也稍微有些不容易理解,很多 SQL 初学者编写的事务处理代码存往往存在漏洞,本文介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正...

存储过程事务处理

Create proc RegisterUser (@usrName varchar(30), @usrPasswd varchar(30),@age int, @PhoneNum varchar(...

SQL Server在存储过程中编写事务处理代码的方法

2012年高考语文一轮复习资料集锦   SQL Server中数据库事务处理是相当有用的,鉴于很多SQL初学者编写的事务处理代码存往往存在漏洞,本文我们介绍了三种不同的方法,举例说明了如何在存储过程事...

SQLServer 存储过程 带事务处理实例(一)

ALTER procedure [dbo].[P_DelImportData] ( @orderNo varchar(50), --定义存储过程传入参数 @smallOrderNo varc...

MySQL之21-29 重点: 视图,触发器,存储过程,游标,事务处理

21.创建和操作表 21.1.创建表 CREATE TABLE创建表,必须给出下列信息: 1)  新表的名字,在关键字CREATETABLE之后 2)  表列的名字和定义,用逗号分隔 CREATE T...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:存儲過程事務處理
举报原因:
原因补充:

(最多只允许输入30个字)