Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Önermiyorum - 2
#1
Sanıyorum bu bir seri haline gelecek maalesef. Ama ben, uzun zaman Ferrari (Sql Server) kullandıktan sonra bu MySQL bana at arabası gibi gelmeye başladı. Muhtemelen biliyorsunuzdur ama ben yeni kullandığım için yeni öğrendim:

MySQL'de nested (iç içe) transactionj desteği YOK. ! Gerçekten de yok. İnanılır gibi değil açıkçası. Bir yanlışlık yapıyorumdur diye düşündüm, arkadaşımı çağırdım ve ona sordum; o da teyid etti. Sonra dökümantasyonda da gördüm. Uzun lafın kısası şu şekilde bir şey çalışmıyor.

CREATE PROCEDURE sp_Sil()
BEGIN
  START TRANSACTION;
  
  INSERT INTO tbl_dandik(Adi)
  SELECT 'Tuğrul';
  
  COMMIT;
END;

procedure SaveData;
var
  AProc : TMyStoredProc;
begin
  AProc := TMyStoredProc.Create(nil);
  AProc.Connection := VarOlanBirConnection;

  AProc.Connection.StartTransaction;

  try
    AProc.StoredProcName := 'sp_Sil';
    AProc.ExecProc;

    AProc.Connection.Rollback; // Bir nedenden ötürü Rollback yapmak istedik.
  finally
    if Assigned(AProc) then
      FreeAndNil(AProc);
  end;
end;

Göreceğiniz üzere, siz dıştaki transaction'u (Delphi tarafındaki); Rollback etseniz de veriler ilgili tabloya yazılmış olacak. Ayrıca dökümantasyonda bana saçma gelen bir başka nokta daha var, çok dikkatli olmayı gerektirecek.

Beginning a transaction causes any pending transaction to be committed. See Section 13.3.3, “Statements That Cause an Implicit Commit”, for more information.



Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. bulabilirsiniz. Bu kısımda özetle şunu diyor: Sizin açık bir transaction'unuz var ise yeni bir transaction başlatma eylemi açık olan transaction'un commit edilmesi ile neticelenir.

Ben inanamadım, böyle RDBMS mi olur. Aman siz siz olun ya uzak durun ya da çok dikkatli olun.

Son olarak nested (iç içe) transactionlar ile ilgili şu Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. okumak isteyebilirsiniz.

Rezalet Angry
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla


Bu Konudaki Yorumlar
Önermiyorum - 2 - Yazar: Tuğrul HELVACI - 12-12-2018, Saat: 11:38
Önermiyorum - 2 - Yazar: esistem - 12-12-2018, Saat: 11:43
Cvp: Önermiyorum - 2 - Yazar: Tuğrul HELVACI - 12-12-2018, Saat: 12:03
Önermiyorum - 2 - Yazar: nguzeller - 12-12-2018, Saat: 12:12
Cvp: Önermiyorum - 2 - Yazar: Tuğrul HELVACI - 12-12-2018, Saat: 12:20
Cvp: Önermiyorum - 2 - Yazar: esistem - 12-12-2018, Saat: 13:35
Önermiyorum - 2 - Yazar: nguzeller - 12-12-2018, Saat: 13:35
Önermiyorum - 2 - Yazar: klavye - 12-12-2018, Saat: 16:43
Cvp: Önermiyorum - 2 - Yazar: Tuğrul HELVACI - 12-12-2018, Saat: 17:53
Önermiyorum - 2 - Yazar: narkotik - 12-12-2018, Saat: 18:57
Cvp: Önermiyorum - 2 - Yazar: uparlayan - 12-12-2018, Saat: 19:44
Cvp: Önermiyorum - 2 - Yazar: Tuğrul HELVACI - 12-12-2018, Saat: 21:12
Cvp: Önermiyorum - 2 - Yazar: narkotik - 12-12-2018, Saat: 22:23
Cvp: Önermiyorum - 2 - Yazar: Tuğrul HELVACI - 13-12-2018, Saat: 08:42
Cvp: Önermiyorum - 2 - Yazar: narkotik - 13-12-2018, Saat: 09:04
Cvp: Önermiyorum - 2 - Yazar: Bay_Y - 13-12-2018, Saat: 16:10
Önermiyorum - 2 - Yazar: boreas - 13-12-2018, Saat: 09:11
Cvp: Önermiyorum - 2 - Yazar: Tuğrul HELVACI - 13-12-2018, Saat: 15:57
Önermiyorum - 2 - Yazar: engerex - 13-12-2018, Saat: 19:56
Önermiyorum - 2 - Yazar: 3ddark - 13-12-2018, Saat: 21:01

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Önermiyorum - 4 Tuğrul HELVACI 9 1.112 25-01-2019, Saat: 15:03
Son Yorum: yhackup
  Önermiyorum - 9 (MySQL'de ALTER komutunun olmaması) Tuğrul HELVACI 13 1.218 16-01-2019, Saat: 09:01
Son Yorum: Tuğrul HELVACI
  Önermiyorum - 8 Tuğrul HELVACI 3 509 12-01-2019, Saat: 07:57
Son Yorum: Bay_Y
  Önermiyorum - 7 (Update ettiğin tabloyu Where kısmında kullanamazsın) Tuğrul HELVACI 14 1.168 04-01-2019, Saat: 14:12
Son Yorum: mad85
  Önermiyorum - 6 (Check_ConstrainsYok) uparlayan 9 986 04-01-2019, Saat: 09:13
Son Yorum: csunguray



Konuyu Okuyanlar: 1 Ziyaretçi