Açık İmleç vs Kapalı İmleç
Veritabanları söz konusu olduğunda, imleç, bir veritabanındaki kayıtlar arasında geçiş yapılmasına izin veren bir kontrol yapısıdır. İmleç, bir SQL select deyimine bir ad atamak için bir mekanizma sağlar ve daha sonra bu SQL deyimi içindeki bilgileri işlemek için kullanılabilir. Örtülü imleçler, açıkça tanımlanmış bir imleç olmadığında PL / SQL'de bir Select deyimi her yayınlandığında otomatik olarak oluşturulur ve kullanılır. Açıkça imleçler, adından da anlaşılacağı gibi, geliştirici tarafından açıkça tanımlanır. PL / SQL'de açık bir imleç aslında anahtar kelime imleci kullanılarak tanımlanan adlandırılmış bir sorgudur.
Örtülü İmleç Nedir??
Örtülü imleçler, bir select deyimi her yayınlandığında Oracle tarafından otomatik olarak oluşturulur ve kullanılır. Örtük bir imleç kullanılırsa, Veritabanı Yönetim Sistemi (DBMS) açma, getirme ve kapatma işlemlerini otomatik olarak gerçekleştirir. Örtük imleçler yalnızca tek bir satır döndüren SQL deyimleriyle kullanılmalıdır. SQL deyimi birden fazla satır döndürürse, örtük bir imleç kullanmak hata verir. Örtük bir imleç, her Veri İşleme Dili (DML) ifadesiyle (INSERT, UPDATE ve DELETE ifadeleri) otomatik olarak ilişkilendirilir. Ayrıca, örtülü bir imleç SELECT INTO deyimlerini işlemek için kullanılır. Örtülü imleçler kullanılarak veri getirilirken SQL deyimi veri döndürmediğinde NO_DATA_FOUND özel durumu oluşturulabilir. Ayrıca, SQL deyimi birden çok satır döndürdüğünde örtük imleçler TOO_MANY_ROWS özel durumlarını artırabilir.
Açık İmleç nedir?
Daha önce de belirtildiği gibi, açık imleçler bir ad kullanılarak tanımlanan sorgulardır. Açık bir imleç bir kayıt kümesine işaretçi olarak düşünülebilir ve işaretçi kayıt kümesi içinde ilerletilebilir. Açık imleçler kullanıcıya veri açma, kapatma ve getirme üzerinde tam kontrol sağlar. Ayrıca, açık bir imleç kullanılarak birden çok satır getirilebilir. Açık imleçler, herhangi bir işlev veya yordam gibi parametreleri alabilir, böylece imleçteki değişkenler her yürütüldüğünde değiştirilebilir. Ek olarak, açık imleçler bir PL / SQL kayıt değişkenine tüm satırı getirmenize izin verir. Açık bir imleç kullanırken, önce bir ad kullanılarak bildirilmesi gerekir. İmleç özelliklerine, imlece verilen ad kullanılarak erişilebilir. Bildirdikten sonra, önce imlecin açılması gerekir. Sonra getirme başlatılabilir. Birden fazla satır getirilmesi gerekiyorsa, getirme işleminin bir döngü içinde yapılması gerekir. Son olarak, imlecin kapatılması gerekiyor.
Açık İmleç ve Kapalı İmleç Arasındaki Fark
Örtük imleç ve açık imleç arasındaki temel fark, bir select deyimi verdiğinizde örtülü imleçler otomatik olarak oluşturulurken, açık bir imlecin bir ad sağlayarak açıkça tanımlanması gerektiğidir. Ayrıca, açık imleçler kullanılarak birden çok satır getirilebilirken, örtülü imleçler yalnızca tek bir satır getirebilir. Ayrıca, örtülü imleçlerin aksine, imleçler kullanılırken NO_DATA_FOUND ve TOO_MANY_ROWS istisnaları ortaya çıkmaz. Özünde, örtük imleçler veri hatalarına karşı daha savunmasızdır ve açık imleçlerden daha az programlı kontrol sağlar. Ayrıca, örtülü imleçlerin açık imleçlerden daha az verimli olduğu düşünülür.