Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 7095|Yanıt: 0

Veritabanının altında yer alan işlemler ve saklanan prosedürler

[Bağlantıyı kopyala]
Yayınlandı 15.03.2019 22:45:21 | | | |


önsöz


Geçen sefer SQL'in tüm temel içeriklerini organize etmeyi düşünüyordum ama saatin farkına varmadan döndüğünü fark ettim. Bu makale aşağıda devam ediyor.


Metin


Öncelikle, ihtiyacımız olan tabloları oluşturalım



Önce bir SQL ifadesi çalıştıralım


Bu kod, 0001'in bakiyesini 1000'e, 0002'nin kalanını ise 1000'e çıkarır. Ama tabloyu oluştururken kısıtlamalar ekledik ve denge 10'dan büyük veya eşit olmalı.

Sonuçlar şu şekildedir:
                  

Yani bu kod yürütme hatası: "UPDATE ifadesi, CHECK kısıtlaması "CH_balance" ile çelişiyor. Çatışma, "DemoDb" veritabanında "dbo. Banka", 'balance' sütunu。” 。 Bir ifade hataysa, diğer ifadenin başarıyla yürütülüp yürütülmediği.

Sorgu sonuçları aşağıdaki gibidir:
                     

Başka bir SQL ifadesinde hata olmadığını göreceğiz, ancak yine de başarılı bir şekilde commit etmeyecek. İşte sizin için açıklayacağımız şeyler.

#İşlemler

Transaction nedir?
Kesin olarak, bir işlem atomiklik, kalıcılık, izolasyon ve tutarlılığı tatmin ediyorsa, işlem işlem olarak adlandırılır.
İşlemleri otomatik olarak gönder: SQL Server'da. Varsayılan olarak, her SQL ifadesi bir işlem olur.
İşlemleri Göster: Her işlem açıkça bir BEGIN TRANSACTION ifadesi ile başlar ve açıkça bir COMMIT veya ROLLBACK ifadesi ile sona erer.



Yukarıda bahsettiğimiz demo Rollback ile sona erdi, bu yüzden SQL yürütmesi etki göstermiyor. Veri başarılı bir şekilde değiştirilemedi.

Gerçek geliştirme ve uygulamada, verinin gerçek ihtiyaçlara göre bütünlüğünü ve tutarlılığını sağlamak için sorgusuz ifadenin dışında bir işlem katmanı kuruyoruz. Ya hepsini yap ya da hepsini yapma.

SQL'in hatalı olduğu iki sistem değişkeni vardır. - @@rowcount etkilenen satır sayısını döndürür, @@error yanlış kodlamayı döndürür

Bu iki sistem değişkenini kullanarak SQL'de hata olup olmadığını belirleyelim ve yukarıdaki iki SQL ifadesini çalıştıralım.



#Depolanmış prosedürler

Anlamı: Gerçekleştirilen (karmaşık olabilen) bir süreci bir isme kapsüle edin ve ardından bu isim süreci gerçekleştirmek için kullanın.



>
Parametresiz depolanmış prosedürler


>Parametrelerle birlikte depolanmış prosedürler



>Dönüş değeriyle saklanan prosedür



Veritabanında yakalamayı deneyin



Ayrıca, önceki sayfalama makalesinde bahsedilen varsayılan parametrelere sahip saklanan prosedürler de vardır.


Epilog


Depolanmış prosedürler gerçek projelerimizde daha çok kullanılıyor, birçok eski sistemde, iş mantığı depolanmış prosedürlerde yazılır ve arkasındaki kişiler bunu sürdürür, sadece köpeklerin kafasını dakikalar içinde önlerinde dövmek istiyorlar. Genel olarak, iş mantığı kodda yazılır, ancak veri veritabanından okunma sayısı ve iş mantığı depolama sürecinde yazılır. Geçen yıl, şirketin projesindeki çok karmaşık bir iş mantığı dizisi depolama sürecine taşındı ve bu da hızı onlarca kat artırdı. Tabii ki, özel durumlar özel olarak ele alınır. Belirli uygulama gerçek senaryoya bağlıdır.






(Not: Yukarıdaki içerik yılın çalışma notlarıdır, uygunsuz bir şey olursa lütfen düzeltin!) )









Önceki:Büyük şirketlerin müşteri hizmetleri sistemine karşı hissediyorum
Önümüzdeki:Andale HCNP ve HCIE videosu
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com