sqlserver中在儲存過程中寫事務

2022-03-24 23:29:14 字數 840 閱讀 9861

由於對資料的操作經常需要併發,所以在儲存過程中使用事務是非常必要的,我經常這樣處理:

if (exists (select

*from sys.objects where name =

'sp_**** '))

drop

proc sp_****

gocreate

procedure sp_****

引數列表....

@out

bit=

0 output --

輸出引數

asbegin

set nocount on

begin

tran

--資料庫 增 改 刪

if@@rowcount!=0

begin

commit

set@out=1

endelse

begin

rollback

set@out=0

endset nocount off

end

下面說呼叫

方法很多:

一、用system.transactions

二、用儲存過程,把事務寫在儲存過程中,在**中傳遞引數,呼叫儲存過程。

三、**:

public

static

int executesqltran(listsqlstringlist)

}tx.commit();

return

count;

}catch

}}

另外有單獨介紹sqlserver儲存過程的文章,寫得不錯

在ASP中執行SQL SERVER 儲存過程

在asp中執行儲存過程要使用command物件。command物件代表乙個命令 例如乙個sql查詢或乙個sql儲存過程 在開始使用ado之前,必須建立乙個odbc資料來源,odbc資料來源包含了如何與乙個資料提供者進行連線的資訊。資料來源共有三種型別 使用者資料來源 系統資料來源 檔案資料來源。在此...

SQL Server 中的儲存過程

一 初步了解儲存過程的使用 建立乙個簡單的儲存過程 1 create proc spemployee2as 3select from humanresources.employee 執行這個儲存過程 exec spemployee 刪除儲存過程 1 刪除儲存過程 2drop proc spemplo...

表變數在儲存過程或sql server中的運用

經常遇見過這種情況,在儲存過程中經常用with建立臨時表,這個臨時表這這個功能模組中多次運用,如果都用with建立相同功能的臨時表,好效能和儲存過程中有很多冗餘 為此,我用表變數來實現此種功能 不是錶值變數 定義表變數的語法 declare 表變數名字 table 列名 列型別 是否為空,列名 列型...