修改数据的存储过程 带事务处理
2008-06-12 00:08
399 查看
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
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
相关文章推荐
- 修改数据的存储过程 带事务处理
- iModel中对从存储过程获取报表数据的处理思考
- SQL Server:存储过程中编写事务处理的方法小结
- 能处理百万数据的存储过程
- 在存储过程中编写正确的事务处理代码
- 资深架构师Sum的故事:(Mysql)InnoDB下,存储过程中事务的处理
- sqlserver数据导入mysql八: 把sqlserver中的存储过程注释后创建到mysql中(留着人工修改)
- T-SQL 存储过程中使用事务并回滚出错的SQL语句(C#事务处理)
- .net下 存储过程、事务处理 的一个小例子
- 在存储过程中使用事务处理 sql server 删除多表操作一致性的问题
- 业务是否有必要与数据存储分离,事务如何处理
- SQL存储过程事务处理方式大全
- 存储过程 务的概念 事务的特性 关于异常的处理 连接池 构JdbcUtil类
- 事务、存储过程——数据统一的守护神
- 存储过程事务处理
- 存储过程事务处理模板
- 在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)
- sql server 存储过程事务处理
- oracle数据定时插入和修改数据存储过程
- SQLServer下 存储过程内 包含事务 及 返回处理是否成功