`

修改数据的存储过程 带事务处理

阅读更多
alter proc Proc_UpdateInfomation(@C_ID varchar(50),@State int output)
as
begin
declare @Tran varchar(50)
set @State=0
begin tran @Tran
delete from companyinfo where C_ID=@C_ID
if @@error<>0 or @@rowcount>1
begin
rollback tran @Tran
set @State=0
end
delete from EnterpriseContent where C_ID=@C_ID
if @@error<>0 or @@rowcount>1
begin
rollback tran @Tran
set @State=0
end
insert into companyinfo([C_ID],[CompanyName],[GenderID],[Introduce],[LogoPath],[CompanyPath],[PurchaseProduct],[MainProduct],[DealType],[CompanyType],[Sort],[SortOrder],[regMoney],[regTime],[regPlace],[CompanyAdderss],[FoundTime],[PPerson],[PSex],[PDept],[PDuty],[PAddress],[PZip],[PTel],[PEmail],[PPhone],[PMobile],[PFax],[PQQ],[PMSN],[PWebSite],[KeyWord],[KeyStartTime],[KeyEndTime],[AddTime],[Scores],[Award],[IsPass],[PassTime],[PassAdmin],[OpenedMonth],[IsPayment],[isdelete]) select [C_ID],[CompanyName],[GenderID],[Introduce],[LogoPath],[CompanyPath],[PurchaseProduct],[MainProduct],[DealType],[CompanyType],[Sort],[SortOrder],[regMoney],[regTime],[regPlace],[CompanyAdderss],[FoundTime],[PPerson],[PSex],[PDept],[PDuty],[PAddress],[PZip],[PTel],[PEmail],[PPhone],[PMobile],[PFax],[PQQ],[PMSN],[PWebSite],[KeyWord],[KeyStartTime],[KeyEndTime],[AddTime],[Scores],[Award],[IsPass],[PassTime],[PassAdmin],[OpenedMonth],[IsPayment],[isdelete] from UpdateCompanyInfo where C_ID=@C_ID
if @@error<>0 or @@rowcount>1
begin
rollback tran @Tran
set @State=0
end
insert into EnterpriseContent([C_ID],[LegalPerson],[DeveloperNum],[WorkerNum],[InCome],[MainMarket],[MainPlace],[IsOem],[PlantArea],[BrandName],[Turnover],[Import],[Export],[QualityControl],[ManagementSystem],[OurBank],[BankAccount]) select [C_ID],[LegalPerson],[DeveloperNum],[WorkerNum],[InCome],[MainMarket],[MainPlace],[IsOem],[PlantArea],[BrandName],[Turnover],[Import],[Export],[QualityControl],[ManagementSystem],[OurBank],[BankAccount] from UpdateCompanyInfo where C_ID=@C_ID
if @@error<>0 or @@rowcount>1
begin
rollback tran @Tran
set @State=0
end
delete from UpdateCompanyInfo where C_ID=@C_ID
if @@error<>0 or @@rowcount>1
begin
rollback tran @Tran
set @State=0
end
if @@error=0 and @@rowcount>0
begin
commit tran @Tran
set @State=1
end
else
begin
rollback tran @Tran
set @State=0
end
end
go
分享到:
评论

相关推荐

    SQLServer2000高级编程技术-已添加书签,想学存储过程、SQL编程务必要看,分析非常透彻

    6.3.4 事务处理的结构 6.3.5 嵌套的事务 6.3.6 已命名的事务 6.3.7 保存点 6.3.8 锁定 6.3.9 事务隔离级别和提示 6.3.10 分布式事务 6.3.11 典型的出错 6.4 小结 6.5 练习 第7章 调试和出错处理 7.1 调试 7.1.1 什么...

    SQL Server 2000存储过程与XML编程(第2版).part1

    第3章 存储过程的设计概念 第4章 T-SQL的基本编程结构 第5章 函数 第6章 复合T-SQL结构:批处理、脚本和事务 第7章 调试和错误处理 第8章 特殊类型的过程 第9章 高级存储过程编程 第10章 与SQL Server环境交互 第11...

    c# Dapper,添加,修改,删除,查询,事务,存储过程,含数据库

    c# Dapper高级编程; 添加方法3个,修改方法2个,删除方法2个,查询方法4个(含Join),事务方法3个,存储过程方法4个,含数据库,含sql存储过程

    SQL Server 2000存储过程与XML编程(第2版).part2

    第3章 存储过程的设计概念 第4章 T-SQL的基本编程结构 第5章 函数 第6章 复合T-SQL结构:批处理、脚本和事务 第7章 调试和错误处理 第8章 特殊类型的过程 第9章 高级存储过程编程 第10章 与SQL Server环境交互 第11...

    SQLServer2000高级编程技术(part02)-想学存储过程 SQL编程 务必要看

    6.3.4 事务处理的结构 6.3.5 嵌套的事务 6.3.6 已命名的事务 6.3.7 保存点 6.3.8 锁定 6.3.9 事务隔离级别和提示 6.3.10 分布式事务 6.3.11 典型的出错 6.4 小结 6.5 练习 第7章 调试和出错处理 7.1 调试 7.1.1 什么...

    存储过程的安全及性能优化

    存储过程的安全及性能优化 存储过程分类  系统存储过程  自定义存储过程  SQL Server使用者编写的存储过程  扩展存储过程  动态链接库(DLL)函数的调用看,主要用于客户端和服务器端之间进行通信  exec...

    mybaits springmvc注解,事务、一对多配置 oracle11g 存储过程 汉字拼音首字母

    这是一个完整的mybaits3.0+springmvc+oracle11g项目,包括sql,存储过程等,下载修改数据库连接 即可运行,包括数据增删改查,一对多查询,调用存储过程。完整的配置文件注释,绝对是入门级教材!另附有根据汉字获取...

    Sql存储过程、触发器、事务1

    简介事务日志是一个数据库的数据修改历史,在创建一个数据库时,会自动创建一个事务日志文件采用提前写的方式,即对数据库的修改,首先会写入到日志中,然后才写入数据库。

    多功能.NET代码自动生成器(含存储过程)

    更新单条数据,使用过程是:先取出相应业务实体,然后修改字段值(非主键字段),然后调用此方法更新数据库。 public string Update(CalendarNotesModel model, object objTrans) 在指定事务控制中更新单条数据,...

    基于云计算的虚拟银行海量数据存储设计

    本论文的主要工作是在基于云计算理论的...因为我们的系统是针对JEPAY 虚拟银行的,所以我们的系统设计是基于关系数据模型的,在设计中主要包括如下几个方面:系统的查询,事务处理,目录管理,容错处理,和安全性等等。

    三层架构 sqlServer数据访问底层

    ,对SqlServer数据库执行存储过程的功能进行封装. * 功能:1:向存储过程添加参数, * 清空存储过程参数。 * 2:执行存储过程返回DataTable,Dataset。 * 3:执行存储过程返回第一行第一列,受影响行数。 * 4:事务...

    MySQL是一款开源的关系型数据库管理系统,能够解决许多数据存储和管理方面的问题

    MySQL是一款开源的关系型数据库管理系统,能够解决许多数据存储和管理方面的问题。包含 MySQL 数据库的基础知识,涵盖了 MySQL 的安装和配置、SQL 基础语法、索引和查询优化、事务和锁等内容,并提供了大量的案例...

    数据仓库数据仓库和我们经常提到的数据库有哪些区别

    由于数据仓库是一个独立的数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入到数据仓库。数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等方面。数据仓库...

    数据仓库的概念及特点

    由于数据仓库是一个独立的数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入到数据仓库。数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等方面。数据仓库...

    在ASP.NET 2.0中操作数据之六十六:在TableAdapters中使用现有的存储过程

    导言:  在前面的文章里我们考察了如何让TableAdapters向导自动的创建存储过程....我们可以在不修改数据访问层代码的情况下,在一个存储过程里管理整个事务.在本文,我们还将对事务里执行存储过程的T-

    神通数据库-数据库快速入门.pdf

    • 支持事务处理 神通数据库提供了高效的事务管理机制,保证每个事务的完整性。该机制提供: 锁定机制,使事务相互隔离。 记录机制,保证事务的持久性。即使服务器硬件、操作系统或数据库自身出现故障,也可以在重新...

    sql 游标、存储过程

    --若该台号处于空闲状态(在表 t_using_desk 中 usingType_code = '01'),则表明该台号即将被使用,需生成 sOrderNo, 向 t_order 表中增加该订单的信息,然后执行存储过程 sp_orderDishes ------------------------...

    达梦数据库_SQL语言手册

    的事务处理。而在这两种不同的使用方式中, 语言的语法结构是一致的,从而为用户使 第1章结构化查询语言简介 用提供了极大的方使性和灵活性。 高度非过程化 语言是·种非过程化语言。用户只需指出“做什么”,而...

    Visual C++程序开发范例宝典 - 第8章

    实例273 通过视图更改数据 实例274 删除视图 8.6 存储过程 实例275 创建存储过程 实例276 删除存储过程 实例277 在程序中使用存储过程 实例278 调用具有输出参数的存储过程 实例279 编写扩展存储过程 8.7 数据库结构...

    Oracle的回滚段存储内容分析

    事务在执行DML操作时,会首先将相关的数据块写入数据缓冲区中,数据缓冲区中存储的是DML操作相关的完整数据块,比如我们对表中的某一个记录执行update操作,oracle会将记录所在的数据块读入数据缓冲区中。...

Global site tag (gtag.js) - Google Analytics