SORU
14 NİSAN 2012, CUMARTESİ


SQL işlemleri doğru kullanın Server 2008

2 komutlar var ve her ikisi de düzgün idam ya da hiçbiri yürütmek gerekir. Bir Hareket lazım diye düşünüyorum ama bunu doğru kullanmak için nasıl bilmiyorum.

Aşağıdaki komut ile sorun nedir?

BEGIN TRANSACTION [Tran1]

INSERT INTO [Test].[dbo].[T1]
    ([Title], [AVG])
VALUES ('Tidd130', 130), ('Tidd230', 230)

UPDATE [Test].[dbo].[T1]
  SET [Title] = N'az2' ,[AVG] = 1
  WHERE [dbo].[T1].[Title] = N'az'

COMMIT TRANSACTION [Tran1]
GO

insert komut yürütüldü ama update komutu bir sorun vardır. Nasıl eğer onlara herhangi bir yürütme bir hata varsa geri almak için bu komutları uygulayabilir miyim?

CEVAP
14 NİSAN 2012, CUMARTESİ


Eğer işlem işlem işlem geri alınır başarısız olursa değişiklikler olacak başarılı olursa, bir try/catch bloğu ekleyin:

BEGIN TRANSACTION [Tran1]

BEGIN TRY

INSERT INTO [Test].[dbo].[T1]
  ([Title], [AVG])
VALUES ('Tidd130', 130), ('Tidd230', 230)

UPDATE [Test].[dbo].[T1]
  SET [Title] = N'az2' ,[AVG] = 1
WHERE [dbo].[T1].[Title] = N'az'


COMMIT TRANSACTION [Tran1]

END TRY
BEGIN CATCH
  ROLLBACK TRANSACTION [Tran1]
END CATCH  

GO

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • michal lelkowski

    michal lelko

    9 Temmuz 2006
  • Peyton

    Peyton

    28 Aralık 2008
  • READ DESCRIPTION NOW!!!!!!!

    READ DESCRIP

    18 ŞUBAT 2009