ö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!) )
|