由於對資料的操作經常需要併發,所以在儲存過程中使用事務是非常必要的,我經常這樣處理:
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
二、用儲存過程,把事務寫在儲存過程中,在**中傳遞引數,呼叫儲存過程。
三、**:
publicstatic
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 列名 列型別 是否為空,列名 列型...