修改資料的儲存過程 帶事務處理

2021-04-16 21:12:23 字數 2542 閱讀 6739

alter proc proc_updateinfomation(@c_id varchar(50),@state int output)

asbegin

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

enddelete from enterprisecontent where

c_id=@c_id

if @@error<>0 or @@rowcount>1

begin

rollback tran @tran

set @state=0

endinsert into companyinfo([c_id],[companyname],[genderid],[introduce],[logopath],[companypath],[purchaseproduct],[mainproduct],[dealtype],[companytype],[sort],[sortorder],[regmoney],[regtime],[regplace],[companyadderss],[foundtime],[pperson],[p***],[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],[p***],[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

endinsert 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

enddelete from updatecompanyinfo where

c_id=@c_id

if @@error<>0 or @@rowcount>1

begin

rollback tran @tran

set @state=0

endif @@error=0 and @@rowcount>0

begin

commit tran @tran

set @state=1

endelse

begin

rollback tran @tran

set @state=0

endend

go

SQL儲存過程和事務處理

在資料庫程式設計中,事務是經常需要用到的技術,在.net平台上,事務處理是非常好用的,但是在sql server資料庫的儲存過程中如何使用事務來完成資料的批量操作呢?解決方案如下 大概都是這樣處理的 create proc registeruser usrname varchar 30 usrpas...

事務處理 MySQL儲存引擎

事務必須服從iso iec所制定的acid原則。acid是原子性 atomicity 一致性 consistency 隔離性 isolation 和永續性 durability 的縮寫。一致性 事物失敗,資料恢復到事物執行前。永續性 事物執行成功,對資料的更改,在系統中是永久的。不會過幾天自動變了。...

mysql事務處理 儲存引擎

一,什麼是事務 在資料庫系統的世界裡,事務 transaction 是指把多個資料庫操作當做乙個整體 塊 來對待。資料庫系統確保操作要麼全都正確地得到執行,要麼全都不執行,即使在事務過程中出現了停電 計算機崩潰或其他災難事件也是如此。這樣一來,就不會發生從銀行賬戶匯出了一筆錢款 但對方卻因為系統出了...