Doğru Cevap
-
umarım aradığın böyle bir şeydir. hiç değiştirmeden aynen kopyalayıp oraya yapıştırıp, bir deneyelim.
declare @adet int select @adet=COUNT(rs.resimId) from resimler rs where urunID = 1 if(@adet>0) begin SELECT ur.urunAd,rs.urunID,rs.resimYol,rs.resimId,rs.thumbs FROM resimler rs INNER JOIN urunler ur ON rs.urunID = ur.urunID end
ha bir de tablolarda null olan kısım varsa onlar eksik çıkar, hiç yokmuş gibi kabul eder.. baştan söyleyim.-
psygnosis
evet ok bu yazdıgına binaen :) @adet değşkenini inner join le oluşan tabloya bir kolon olarak ekleyebilirmiyiz.?10 yıl önce yazılmış -
ercet00ilk
o dediğini olayın ismi TRANSACTION (Transact-SQL) yani üst üste çoklu işlem yaptırıyorsun.
bütün sorguyu tek bir fonksiyon olarak düşünüp uygularsanız sanırım anlarsınız.
buradaki fark bütün sayfadaki sorgu çalıştırılıyor. en küçük bir sıkıntıda, patlamada ya da değerdeki şart tutmadığında bütün işlemler roll-back oluyor. ne güzel değil mi? bankadaki sistemin ta kendisi.
en basitinden şöyle sorguları sıralarsınız tabloyu oluşturursunuz ve değerleri aktarırsınız. commit yazısını görene kadar tüm işlemleri saymaz. ne zaman ki commit görür o zaman tüm işlem başarılı olarak sonuçlanır.
USE AdventureWorks; GO BEGIN TRANSACTION; GO DELETE FROM HumanResources.JobCandidate WHERE JobCandidateID = 13; GO COMMIT TRANSACTION; GO
anlamadığınız konu olursa burada da anlatmış : http://www.csharpnedir.com/articles/read/?id=375&title=Transaction%20Kavram%C4%B110 yıl önce yazılmış -
psygnosis
teşekkürler10 yıl önce yazılmış -
ercet00ilk
rica ederim umarım işinizi görmüştür. kolay gelsin.10 yıl önce yazılmış
-
Cevaplar
Hiç cevap bulunamadı.