Я использую SQL Server 2008 Enterprise.И используя ADO.Net + C # + .Net 3.5 + ASP.Net в качестве клиента для доступа к базе данных.Когда я обращаюсь к таблицам SQL Server 2008, я всегда вызываю хранимую процедуру из своего кода C # + ADO.Net.
Мой вопрос заключается в том, не имею ли я никакого контроля транзакции (я имею в виду начало / конец транзакции) из моегоклиентский код C # + ADO.Net, и у меня также нет никакого контроля транзакции (я имею в виду начало / конец транзакции) в коде хранимой процедуры sql.Тогда мой вопрос заключается в том, что каждый отдельный оператор вставки / удаления / обновления / выбора будет действовать как одна транзакция?Это верно?Например, в следующей процедуре сохранения delete / insert / select будет действовать как 3 отдельные транзакции?
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