pl sql package oracle pl sql package tutorial with examples
PL SQL Paketi, avantajları, özellikleri ve yapısı hakkında bilgi edinin:
Bu yazımıza devam edeceğiz PL / SQL serisi . İçinde PL SQL Kayıtları öğreticide, programlama örnekleri ile Kayıtlar ve Kayıt Türleri hakkında bilgi edindik.
Burada PL / SQL'deki paketleri ve paketlerin bazı önemli özelliklerini inceleyeceğiz. Ayrıca, bunlarla ilgili bazı temel işlemleri tartışacağız.
Ayrıca PL / SQL ve alt programlarındaki dbms_ouput paketlerini de tartışacağız.
Öğrendiklerimizle başlayalım !!
Ne öğreneceksin:
PL SQL Paketi
Paket, PL / SQL'de mantıksal olarak bağlı öğeleri, türleri ve alt programları ayıran şema biçimindeki bir nesnedir. Bir paket iki bölümden oluşur: Paket özellikleri ve Paket gövdesi veya tanımı .
Paket belirtimi, uygulamaya yönelik bir arabirim gibidir ve değişkenleri, sabitleri, türleri, istisnaları, imleçleri ve alt programları bildirmek için kullanılır. Bir paketin gövdesi, paket belirtiminde belirtilen alt programları ve imleçleri uygular.
Paket özelliklerine (paketin arabirimi de denir) dokunmadan bir paket gövdesini güncelleyebilir, hata ayıklayabilir veya değiştirebiliriz.
PL / SQL Paketinin Avantajları
Paketin avantajları aşağıda listelenmiştir:
- Kodumuza modülerlik kazandırır.
- Uygulamanın kolayca tasarlanmasına yardımcı olur.
- PLSQL Paketi, genel ve özel öğeler, veri türleri ve alt programlar yardımıyla bilgilerin gizlenmesine yardımcı olur.
- paketi, tüm işlemlerin veritabanında saklanmasına gerek kalmadan bilgilerin korunmasını sağlar.
- Paketler, yürütme performansını artırmaya yardımcı olur.
Paket Özellikleri
Bir paket belirtimi, pakete bir arayüz gibidir. Değişkenlerin, sabitlerin, türlerin, istisnaların, imleçlerin ve alt programların bildirimiyle ilgilenir. Bu nedenle, paket içeriği ile ilgili tüm ayrıntılara sahiptir ancak alt programların uygulanmasına sahip değildir.
Bir paket spesifikasyonunun içindeki nesneler genel nesnelerdir. Bir paket gövdesi içinde uygulanan tüm alt programlar özel nesnelerdir. Paket belirtiminde birden çok global değişken, işlev veya prosedür tanımlayabiliriz.
Bir paket belirtimi bağımsız bir varlıktır ve bir paket gövdesi olmadan var olabilir.
Kod uygulaması:
CREATE PACKAGE citi AS FUNCTION p_strng RETURN VARCHAR2; END citi; /
Yukarıdaki kodun çıktısı:
Paket Gövdesi
Paket gövdesi, paket spesifikasyonunda belirtilen imleçlerin ve alt programların uygulamasını içerir. Paket gövdesinde uygulanan alt programlara, paket spesifikasyonunda belirtilmeleri koşuluyla paketin dışından erişilebileceği unutulmamalıdır.
Paket spesifikasyonunda ve gövdede belirtilen alt program tam olmalıdır. Bu karşılaştırma, başlıklarının belirteçlerine göre yapılır. Eşleşmemeleri durumunda, PL / SQL bir istisna atar.
Windows'ta bir dat dosyasını nasıl açarsınız
Paket gövdesi, paket spesifikasyonunda belirtilmeyen diğer alt programları içerebilir. Bu durumda, bunlar yalnızca o paket gövdesine özeldir. PAKET GÖVDESİ OLUŞTUR bir paket gövdesi oluşturmak için kullanılan anahtar kelimedir.
Paket gövdesini oluşturmak için bir örnek alalım. diğerleri paketi.
Paket gövdesi ile kod uygulaması.
CREATE OR REPLACE PACKAGE BODY citi AS --function implemented FUNCTION p_strng RETURN VARCHAR2 IS BEGIN RETURN 'Software Testing Help!'; END p_strng; END citi; /
Yukarıdaki kodun çıktısı olmalıdır.
birim testi entegrasyon testi sistem testi
Paket Öğelerine Bakın
Paket şartnamesindeki unsurları beyan edip bunları paket gövdesinde uygulamayı bitirdiğimiz için, bu unsurlara atıfta bulunmamız gerekir. Paket öğeleri, işlevler, prosedürler ve değişkenlerden oluşur.
Paketin bu genel öğelerine, paket adı ve ardından nokta (.) Gösterimi ile ayrılmış öğe adı ile erişilebilir.
Sözdizimi:
package_name.element_name;
Öğelere erişmek için kodlama uygulaması:
BEGIN DBMS_OUTPUT.PUT_LINE (citi.p_strng); END;
Yukarıdaki kodun çıktısı:
PL SQL Paketi Oluşturun
Bir oturumda bir paket çağrılırsa veya bahsedilirse, bu paketin yeni bir örneği PL / SQL'de oluşturulur. Paket Başlatma kod bloğu ile örnek oluşturma sırasında paketin öğelerini başlatma veya diğer eylemleri gerçekleştirme seçeneğimiz var. Bu, paket elemanlarının başlatılmasından sonra paket gövdesi içindeki çalıştırılabilir kod bloğudur.
Paket oluşturma sözdizimi:
CREATE (OR REPLACE) PACKAGE BODY IS BEGIN END
Burada package_n, paketin adıdır.
Bir Paketin Aşırı Yüklenmesi
Bir paket içinde benzer adlara sahip birden çok alt program olabilir. Bu özellik, heterojen veri türleri ile homojen parametrelere sahip olmak istiyorsak kullanışlıdır. Paket içindeki aşırı yükleme kavramı, programcıların gerçekleştirmek istedikleri eylem türünü açıkça belirtmelerine olanak tanır.
Prosedür aşırı yüklemeli Kodlama Uygulaması. (Paket oluşturuldu):
CREATE PACKAGE overloadingprocedure AS Procedure overl_method (p varchar2); Procedure overl_method (numbr number); END overloadingprocedure; /
Yukarıdaki kodun çıktısı:
Prosedür aşırı yüklemeli Kodlama Uygulaması. (Paket gövdesi oluşturuldu)
CREATE OR REPLACE PACKAGE BODY overloadingprocedure AS --procedure implemented Procedure overl_method (p varchar2) AS BEGIN DBMS_OUTPUT.PUT_LINE ('First Procedure: ' || p); END; --procedure implemented Procedure overl_method (numbr number) AS BEGIN DBMS_OUTPUT.PUT_LINE ('Second Procedure: ' || numbr); END; END; /
Yukarıdaki kodun çıktısı:
Prosedür aşırı yüklemeli Kodlama Uygulaması. (Paket prosedürü atıfta bulunur)
BEGIN overloadingprocedure.overl_method ('Software Testing Help'); overloadingprocedure.overl_method (1); END;
Yukarıdaki kodun çıktısı:
PLSQL Paket Bağımlılığı
PL / SQL'deki paket bağımlılıkları aşağıda listelenmiştir:
- Paket belirtimi, bağımsız bir kimliktir.
- Paket gövdesi, paket özelliklerine bağlıdır.
- Bir paket gövdesi yalnızca ayrı olarak derlenebilir. Ancak, bir paket spesifikasyonu derlenmişse, gövdenin yeniden derlenmesi gerekir.
- Özel öğelere bağlı olan bir paket gövdesi içindeki işlev veya prosedür, özel öğelerin bildiriminden sonra uygulanmalıdır.
PL SQL'de Paket oluşturma yönergeleri:
- Bir paket, gelecekte yeniden kullanılabilmeleri için genel terimlerle yazılmalıdır.
- Bir pakette yinelenen özelliklerden kaçının.
- Paket özellikleri, uygun şekilde tasarlanmış bir uygulamanın anahtarını içerir. Paket gövdesini oluşturmadan önce paket özelliklerini tamamlayın.
- Bir paket belirtimi, yalnızca paket kullanıcılarının erişebilmesi gereken öğeleri, alt programları ve türleri içermelidir. Gereksiz uygulama bilgilerine sahip olmamalıdır.
- Paket özellikleri sınırlı sayıda öğe içermelidir. Paket belirtiminde yapılan bir değişiklik, paketi referans alan tüm alt programları yeniden derlemek için PL / SQL gerektirdiğinden, kodu yeniden derlemek için zaman kazandıracaktır.
PL / SQL'de Paket Bilgileri
Paketin kaynağı, alt programlar ve aşırı yüklenmiş öğeler gibi tüm ilgili ayrıntılar, bir paket oluşturulduktan sonra veri tanımlama tablolarında saklanır.
Veri tanımlama tablolarının listesi aşağıdaki gibidir:
- USER_PROCEDURES: Bu tablo, mevcut kullanıcı için aşırı yüklenmiş öğeler, nesne_kimliği vb. Gibi alt program bilgilerini içerir.
- ALL_PROCEDURES: Bu tablo, tüm kullanıcılar için aşırı yüklenmiş öğeler, nesne_kimliği vb. Gibi alt program bilgilerini içerir.
- USER_SOURCE: Bu tablo, mevcut kullanıcı için nesne kaynağı hakkındaki bilgileri içerir.
- ALL_SOURCE: Bu tablo, tüm kullanıcılar için nesne kaynağı hakkındaki bilgileri içerir.
- ALL_OBJECT: Bu tablo, tüm kullanıcılar için create_date, object_id ve diğer nesne ayrıntıları gibi paket hakkındaki bilgileri içerir.
PL / SQL'de DBMS Çıkışı
DBMS_OUTPUT paketi, alt programlardan ve kod bloklarından üretilen PL / SQL çıktısının görüntülenmesine izin verir. Bu, kodumuzun hatalarını ayıklamamıza, test etmemize ve mesaj göndermemize yardımcı olur.
put_line yordam çıktı verilerini bir arabelleğe üretir. Bilgiler, hat almak prosedürü veya SQL * Plus'ta SERVEROUTPUT ON'u yapılandırarak.
DBMS_OUTPUT paketi aşağıdaki alt programları içerir:
Sl. Yok hayır. | İsim | Amaçlar |
---|---|---|
bir | DBMS_OUTPUT.DISABLE | Mesaj çıktısını sınırlar. |
iki | DBMS_OUTPUT.ENABLE (INTEGER DEFAULT 20000'DE arabellek) | Mesaj çıktısına izin verir. Arabellek NULL olarak ayarlanmışsa, arabelleğin sınırsız boyutunu temsil eder. |
3 | DBMS_OUTPUT.GET_LINE (satır OUT VARCHAR, durum OUT NUMBER) | Tek bir satırda arabelleğe alınmış bir bilgiyi alır. |
4 | DBMS_OUTPUT.NEW_LINE | Bir satır sonu işaretini sonlandırır. |
5 | DBMS_OUTPUT.PUT (VARCHAR İÇİNDEKİ öğe) | Arabelleğe eksik bir satır koyar. |
6 | DBMS_OUTPUT.PUT_LINE (öğe VARCHAR'DA) | Arabelleğe tam bir satır koyar. |
Kod Uygulaması:
DECLARE BEGIN DBMS_OUTPUT.PUT_LINE ('Software Testing Help!'); END;
Yukarıdaki kodun çıktısı:
Sıkça Sorulan Sorular ve Cevaplar
S # 1) PL SQL'deki paket nedir?
Cevap: Paket, mantıksal olarak ilişkili değişkenleri, sabitleri, imleçleri, alt programları ve türleri kategorilere ayıran bir nesne şemasıdır.
S # 2) PL SQL paketlerinin faydaları nelerdir?
Cevap: Paketin faydaları aşağıda listelenmiştir:
- Paketlerle uygulama tasarlamak kolaylaşır.
- Paketlerle kapsülleme yapabiliriz.
- Paketler, yürütme hızı açısından daha iyi performans elde etmeye yardımcı olur.
- Kod, paketlerle daha modüler hale gelir.
S # 3) Spesifikasyon olmadan bir paket gövdesi oluşturabilir miyiz?
Cevap: Evet, paket özelliği olmadan bir paket gövdesi oluşturabiliriz.
S # 4) PL SQL'de Dbms_output Put_line nedir?
Cevap: Dbms_output put_line, Oracle'da düz bir dosyaya veya PL / SQL çıktı ekranına bilgi yazmamızı sağlayan bir prosedürdür.
S # 5) Dbms_output nedir?
Cevap: Dbms_output, hata ayıklama bilgilerini görüntülememize, alt programlardan, tetikleyicilerden, paketlerden ve PL / SQL kod bloğundan mesaj göndermemize izin veren varsayılan bir pakettir
Windows 10 için en iyi bilgisayar temizleme yazılımı
Sonuç
Bu eğitimde, gerçek uygulamalarda kullanmak için gerekli olan PL SQL Paketleri hakkında bazı temel kavramları ayrıntılı olarak tartıştık.
Aşağıda listelenen aşağıdaki konuları ele aldık:
- Paketler ve yapıları.
- Paketlerin farklı özellikleri.
- DBMS Çıkışı.
- DBMS_OUTPUT paketinin alt programları.
<< PREV Tutorial | SONRAKİ Eğitim >>
Önerilen Kaynaklar
- Örneklerle Yeni Başlayanlar İçin PL SQL Eğitimi | PL / SQL Nedir
- Örneklerle PL SQL Kayıtları Eğitimi
- PL SQL İmleç ve Dizeler: Kod Örnekleriyle Öğretici
- Örneklerle Python DateTime Eğitimi
- Oracle Veritabanı Uygulama Geliştirme: Oracle SQL ve PL / SQL
- En Popüler Oracle Mülakat Soruları: Oracle Basic, SQL, PL / SQL Soruları
- SQL Vs MySQL Vs SQL Server Arasındaki Fark (Örneklerle)
- En Popüler Oracle Formları ve Raporları Mülakat Soruları