Saklı Prosedürler – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
Saklı Prosedürler
Çoğu RDBMS sistemi, bir tür dahili programlama dili içerir (örneğin, Oracle’ın PL/SQL). Bu diller, veritabanı geliştiricilerinin yordamsal uygulama kodunu doğrudan veritabanına yerleştirmesine ve ardından bu kodu diğer uygulamalardan çağırmasına olanak tanır.
Bu yaklaşımın avantajı, kodun yalnızca bir kez yazılabilmesi ve ardından birden çok farklı uygulamada (farklı platformlar ve dillerde bile) kullanılabilmesidir. Ayrıca uygulama kodunun temeldeki tablo yapısından ayrılmasına izin verir. Saklı yordamlar tüm SQL’i işliyorsa ve uygulamalar yalnızca yordamları çağırıyorsa, tablo yapısı daha sonra değiştirilirse yalnızca saklı yordamların değiştirilmesi gerekir.
Bu PL/SQL prosedürü, bir hesap kimliği ve bir bakiye olmak üzere iki giriş değeri alır ve güncellenmiş bir bakiye döndürür. CallableStatement arabirimi, saklı yordamları destekleyen JDBC nesnesidir.
Connection sınıfı, bir ReadydStatement oluşturmak için kullandığımız readyStatement() yöntemine çok benzeyen bir readyCall() yöntemine sahiptir. Her veritabanının saklı yordamlara erişmek için kendi sözdizimi olduğundan, JDBC, CallableStatement ile saklı yordamlara erişmek için standartlaştırılmış bir kaçış sözdizimi tanımlar.
Bu sözdiziminde, her soru işaret bir prosedür parametresi veya bir dönüş değeri için bir yer tutucuyu temsil eder. Parametrelerin isteğe bağlı olduğunu unutmayın. JDBC sürücüsü, kaçış sözdizimini veritabanının kendi saklı yordam sözdizimine çevirmekten sorumludur.
Bu örnekte, önce preparCall() yöntemini kullanarak ve saklı yordam için uygun kaçış sözdizimini ileten bir CallableStatement oluştururuz.
Bu saklı yordamın bir çıktı parametresi olduğundan (aslında, bu durumda bir INOUT parametresi, yani aynı zamanda bir giriş parametresi olarak da hizmet eder), bu parametreyi FLOAT türünde bir çıktı olarak tanımlamak için registerOutParameter() yöntemini kullanırız.
Tıpkı hazırlanan ifadelerde olduğu gibi, ikame edilen parametrelerin 1’den n’ye, soldan sağa doğru numaralandırıldığına dikkat edin. Saklı yordamda bir çıktı parametreniz olduğunda, saklı yordamı çalıştırmadan önce registerOutParameter() kullanarak türünü kaydetmeniz gerekir.
Ardından, uygun setXXX() yöntemlerini kullanarak hesap kimliği ve bakiye olmak üzere iki giriş parametresini ayarlıyoruz. Son olarak, saklı prosedürü uygularız ve ardından yeni bakiyeyi görüntülemek için getFloat() yöntemini kullanırız. CallableStatement öğesinin getXXX() yöntemleri, ResultSet’inkilere benzer.
CallableStatementYalnızca az önce gördüğümüz gibi çıktı değerlerine sahip saklı yordamlarla kullanmanız gerekir. Parametre alan ancak hiçbir şey döndürmeyen saklı yordamları yürütmek için diğer ifade nesnelerinden birini kullanabilirsiniz.
Kaçış Dizileri
Kaçış dizileri, JDBC programlarının belirli veritabanı komutlarını veritabanından bağımsız bir şekilde paketlemesine izin verir. Farklı veritabanları farklı özellikleri (özellikle skaler SQL işlevlerini) farklı şekillerde uyguladığından, gerçekten taşınabilir olması için JDBC’nin bu işlevselliğin en azından bir alt kümesine standart bir şekilde erişmenin bir yolunu sağlaması gerekir.
Bir JDBC kaçış dizisi, bir çift kaşlı ayraç, bir anahtar sözcük ve bir dizi parametreden oluşur. Bu nedenle call, saklı yordamlar için anahtar sözcük iken d, t ve ts, tarihler ve saatler için anahtar sözcüklerdir. Henüz görmediğimiz bir anahtar kelime kaçış. Bu anahtar sözcük, içindeki joker karakterlerden kaçmak için kullanılan karakteri belirtir.
Normalde, alt çizgi ( _ ) karakteri tek karakterli bir joker karakter olarak değerlendirilirken, yüzde işareti (%) çok karakterli joker karakterdir. Kaçış karakteri olarak ters eğik çizgiyi (\) belirterek, alt çizgi karakterinin kendisiyle eşleşebiliriz. Kaçış anahtar sözcüğünün joker karakter aramalarının dışında da kullanılabileceğini unutmayın. Örneğin, SQL dizesi sonlandırma karakterlerinin (tek tırnak işareti gibi) dizeler içinde göründüğünde öncelenmesi gerekir.
Stored Procedure Nedir
Stored Procedure özellikleri
SQL prosedürler
Saklı yordam Nedir
Stored Procedure Nedir SQL
SQL Procedure Kullanımı
Stored procedure
Stored Procedure Nedir Nasıl kullanılır
fn anahtar sözcüğü, dahili skaler veritabanı işlevlerinin kullanılmasına izin verir. Gerçek uygulamalar değişiklik gösterse de, skaler işlevler çoğu veritabanı mimarisinin oldukça standart bir bileşenidir. Örneğin, birçok veritabanı, bir karakter dizisini sesinin sayısal bir temsiline çeviren SOUNDEX(dize) işlevini destekler.
Başka bir işlev, DIFFERENCE(string1,string2), iki dize için soundex değerleri arasındaki farkı hesaplar. Değerler yeterince yakınsa, iki kelimenin kulağa aynı geldiğini (“Beacon” ve “Bacon”) varsayabilirsiniz. Veritabanınız FARKI destekliyorsa, benzer bir SQL ifadesi yürüterek kullanabilirsiniz.
Dış birleşimler bazı veritabanları tarafından desteklenmez ve bu bölümün kapsamı dışında kalacak şekilde yeterince karmaşıktır (ve başlı başına JDBC API ile ilgisi yoktur). Daha fazla bilgi için veritabanınızın SQL belgelerine bakın.
Performans bir sorun olduğunda, kaçış dizisi işlemeyi kapatmak için SetEscapeProcessing() Statement yöntemini kullanabileceğinizi unutmayın.
JDBC 2.0
Orijinal JDBC API (JDBC 1.0) ilk olarak JDK 1.0 için bir eklenti paketi olarak tanıtıldı ve Java 1.1 ile birlikte temel Java API’sinin bir parçası oldu. Mayıs 1998’de Sun, JDBC 2.0 spesifikasyonunu yayınladı.
API’nin bu yeni sürümü, genişletilmiş sonuç işleme, Java uyumlu veritabanları, BLOB alanları ve diğer küçük iyileştirmeler için destek sağlar. Sonuç olarak, JDBC 2.0’da bu bölümde ayrı bir bölümü garanti etmeye yetecek kadar yeni özellik var. API’nin yeni sürümü geriye dönük olarak uyumludur; JDBC 1.0 için yazılan kod, JDBC 2.0 altında derlenir ve gayet iyi çalışır.
Güncellenmiş API, Java 2 platformunun 1.2 Sürümü ile birlikte gelir ve ayrıca indirilebilir. Sun ve InterSolv, JDBC-ODBC Köprüsü’nün güncellenmiş bir sürümü üzerinde çalışıyor olsa da, 1999’un başlarında çok az sayıda JDBC 2.0 uyumlu sürücü bulunmaktadır.
Sonuç İşleme
JDBC 1.0 ile, ResultSet arabiriminin sağladığı işlevsellik oldukça sınırlıdır. Herhangi bir tür güncelleme desteği yoktur ve satırlara erişim tek, sıralı bir okuma ile sınırlıdır (yani, birinci satır, ikinci satır, üçüncü satır vb. ve geri dönüş yok). JDBC 2.0, gelişmiş kayıt navigasyonuna ve yerinde veri işlemeye izin veren kaydırılabilir ve güncellenebilir sonuç kümelerini destekler.
Kaydırma ile, bir sonraki satıra geçmek için next() yöntemini kullanmak yerine, bir sorgunun sonuçları arasında ileri ve geri gidebilirsiniz. Kaydırma açısından, artık üç farklı ResultSet nesnesi türü vardır: yalnızca ileri (JDBC 1.0’da olduğu gibi), kaydırmaya duyarsız ve kaydırmaya duyarlı.
Kaydırmaya duyarlı olmayan bir sonuç kümesi, genellikle temel verilerdeki değişiklikleri yansıtmaz, oysa kaydırmaya duyarlı olanlar yapar. Aslında hassas bir sonuç kümesindeki satır sayısının sabitlenmesine bile gerek yoktur.
JDBC 2.0’dan itibaren sonuç kümeleri de güncellenebilir. Bu açıdan, iki farklı türde sonuç kümesi vardır: temel verilerde değişikliklere izin vermeyen salt okunur sonuç kümeleri ve işlem sınırlamalarına tabi olarak bu tür değişikliklere izin veren güncellenebilir sonuç kümeleri vb.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)