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