我正在使用SQL Server 2008 Enterprise。並使用ADO.Net + C#+淨3.5 + ASP.Net作爲客戶端來訪問數據庫。當我訪問SQL Server 2008表時,我總是從我的C#+ ADO.Net代碼中調用存儲過程。我的問題是,如果我沒有任何事務控制(我的意思是開始/結束事務)從我的客戶端C#+ ADO.Net代碼,並且我也沒有任何事務控制(我的意思是開始/結束事務)在SQL存儲過程代碼中。那麼我的問題是,每個插入/刪除/更新/選擇語句將作爲一個單獨的事務?那是對的嗎?例如,在以下存儲過程中,刪除/ insert/select將用作3個單一事務?SQL Server 2008中的事務問題
create PROCEDURE [dbo].[FooProc]
(
@Param1 int
,@Param2 int
,@Param3 int
)
AS
DELETE FooTable WHERE Param1 = @Param1
INSERT INTO FooTable
(
Param1
,Param2
,Param3
)
VALUES
(
@Param1
,@Param2
,@Param3
)
DECLARE @ID bigint
SET @ID = ISNULL(@@Identity,-1)
IF @ID > 0
BEGIN
SELECT IdentityStr FROM FooTable WHERE ID = @ID
END
謝謝Andomar!問題回答了! – George2 2010-06-19 14:08:23