Τι είναι ο τύπος αντικειμένου στο PL / SQL;
Ο αντικειμενοστρεφής προγραμματισμός είναι ιδιαίτερα κατάλληλος για την κατασκευή επαναχρησιμοποιήσιμων εξαρτημάτων και σύνθετων εφαρμογών. Είναι οργανωμένα γύρω από "αντικείμενα" και όχι "ενέργειες", δηλαδή τα προγράμματα έχουν σχεδιαστεί για να λειτουργούν και να αλληλεπιδρούν με ολόκληρο το αντικείμενο και όχι με τη μοναδική ενέργεια. Αυτή η ιδέα επιτρέπει στον προγραμματιστή να συμπληρώνει και να χειρίζεται τις λεπτομέρειες σε επίπεδο οντοτήτων αντικειμένου.
Η παρακάτω εικόνα απεικονίζει ένα παράδειγμα του τύπου αντικειμένου στον οποίο ένας τραπεζικός λογαριασμός θεωρείται οντότητα αντικειμένου. Τα χαρακτηριστικά αντικειμένων περιλαμβάνουν πράγματα που διατηρούν ορισμένες τιμές χαρακτηριστικών, για παράδειγμα στον τραπεζικό λογαριασμό. Είναι ο αριθμός λογαριασμού, το τραπεζικό υπόλοιπο κ.λπ. ενώ οι μέθοδοι αντικειμένων περιγράφουν τα πράγματα όπως τον υπολογισμό του επιτοκίου, τη δημιουργία τραπεζικού λογαριασμού κ.λπ. που απαιτεί την ολοκλήρωση συγκεκριμένης διαδικασίας.
Στο PL / SQL ο αντικειμενοστρεφής προγραμματισμός βασίζεται σε τύπους αντικειμένων.
Ένας τύπος αντικειμένου μπορεί να αντιπροσωπεύει οποιαδήποτε πραγματική οντότητα. Θα συζητήσουμε περισσότερους τύπους αντικειμένων σε αυτό το κεφάλαιο.
Σε αυτό το σεμινάριο - θα μάθετε,
- Στοιχεία των τύπων αντικειμένων
- Δημιουργήστε αντικείμενο στο Oracle
- Δήλωση Αρχικοποίηση του Τύπου Αντικειμένου
- Κατασκευαστές
- Κληρονομικότητα στον τύπο αντικειμένου
- Ισότητα αντικειμένων PL / SQL
Στοιχεία των τύπων αντικειμένων
Ο τύπος αντικειμένου PL / SQL περιέχει κυρίως δύο στοιχεία.
- Γνωρίσματα
- Μέλη / Μέθοδοι
Γνωρίσματα
Τα χαρακτηριστικά είναι η στήλη ή το πεδίο στο οποίο αποθηκεύονται τα δεδομένα. Κάθε χαρακτηριστικό θα αντιστοιχιστεί στον τύπο δεδομένων που καθορίζει τον τύπο επεξεργασίας και αποθήκευσης για αυτό το χαρακτηριστικό. Το χαρακτηριστικό μπορεί να είναι οποιουδήποτε έγκυρου τύπου δεδομένων PL / SQL ή μπορεί να είναι άλλου τύπου αντικειμένου.
Μέλη / Μέθοδοι
Τα μέλη ή οι μέθοδοι είναι υποπρογράμματα που ορίζονται στον τύπο αντικειμένου. Δεν χρησιμοποιούνται για την αποθήκευση δεδομένων. Χρησιμοποιούνται κυρίως για τον καθορισμό της διαδικασίας μέσα στον τύπο αντικειμένου. Για παραδείγματα επικύρωσης δεδομένων πριν συμπληρώσετε τον τύπο αντικειμένου. Δηλώνονται στην ενότητα τύπου αντικειμένου και ορίζονται στην ενότητα σώματος τύπου αντικειμένου του τύπου αντικειμένου. Το τμήμα σώματος στον τύπο αντικειμένου είναι ένα προαιρετικό μέρος. Εάν δεν υπάρχουν μέλη, τότε ένας τύπος αντικειμένου δεν θα περιέχει κανένα μέρος του σώματος.
Δημιουργήστε αντικείμενο στο Oracle
Δεν είναι δυνατή η δημιουργία ενός τύπου αντικειμένου σε επίπεδο υποπρογράμματος, μπορούν να δημιουργηθούν μόνο σε επίπεδο σχήματος. Μόλις οριστεί ο τύπος αντικειμένου στο σχήμα, τότε ο ίδιος μπορεί να χρησιμοποιηθεί σε υποπρογράμματα. Ο τύπος αντικειμένου μπορεί να δημιουργηθεί χρησιμοποιώντας το "CREATE TYPE". Το σώμα τύπου μπορεί να δημιουργηθεί μόνο μετά τη δημιουργία του τύπου αντικειμένου.
CREATE TYPEAS OBJECT( ,… );/CREATE TYPE BODY AS OBJECT(MEMBER[PROCEDURE|FUNCTION] IS BEGIN END;… );/
Επεξήγηση σύνταξης:
- Η παραπάνω σύνταξη δείχνει τη δημιουργία του «OBJECT» με χαρακτηριστικά και «OBJECT-BODY» με μεθόδους.
- Οι μέθοδοι μπορούν επίσης να υπερφορτωθούν στο σώμα του αντικειμένου.
Δήλωση Αρχικοποίηση του Τύπου Αντικειμένου
Όπως και άλλα στοιχεία στο PL / SQL, οι τύποι αντικειμένων πρέπει επίσης να δηλωθούν πριν τα χρησιμοποιηθούν στο πρόγραμμα.
Μόλις δημιουργηθεί ο τύπος αντικειμένου, μπορεί να χρησιμοποιηθεί στην ενότητα δηλώσεων υποπρογράμματος για να δηλώσει μια μεταβλητή αυτού του τύπου αντικειμένου.
Κάθε φορά που οποιαδήποτε μεταβλητή δηλώνεται στο υποπρόγραμμα ως τύπος αντικειμένου, κατά το χρόνο εκτέλεσης θα δημιουργηθεί μια νέα παρουσία του τύπου αντικειμένου και αυτή η νεοσυσταθείσα παρουσία μπορεί να αναφέρεται στο όνομα της μεταβλητής. Με αυτόν τον τρόπο, ένας τύπος ενός αντικειμένου μπορεί να αποθηκεύσει πολλές τιμές σε διαφορετικές περιπτώσεις.
DECLARE;BEGIN… END;/
Επεξήγηση σύνταξης:
- Η παραπάνω σύνταξη δείχνει τη δήλωση μιας μεταβλητής ως τύπο αντικειμένου στην ενότητα δήλωσης.
Μόλις η μεταβλητή δηλωθεί ως τύπος αντικειμένου σε ένα υποπρόγραμμα, θα είναι ατομικά μηδενική, δηλαδή ολόκληρο το ίδιο το αντικείμενο. Πρέπει να αρχικοποιηθεί με τιμές για να τις χρησιμοποιήσει στο πρόγραμμα. Μπορούν να αρχικοποιηθούν χρησιμοποιώντας κατασκευαστές.
Οι κατασκευαστές είναι η σιωπηρή μέθοδος ενός αντικειμένου που μπορεί να αναφέρεται με το ίδιο όνομα με αυτό του τύπου αντικειμένου. Η παρακάτω σύνταξη δείχνει την αρχικοποίηση του τύπου αντικειμένου.
DECLARE;BEGIN := ();END;/
Επεξήγηση σύνταξης:
- Η παραπάνω σύνταξη δείχνει την αρχικοποίηση της παρουσίας τύπου αντικειμένου με μηδενική τιμή.
- Τώρα το ίδιο το αντικείμενο δεν είναι μηδενικό, όπως έχει αρχικοποιηθεί, αλλά τα χαρακτηριστικά μέσα στο αντικείμενο θα είναι μηδενικά, καθώς δεν έχουμε εκχωρήσει τιμές σε αυτά τα χαρακτηριστικά.
Κατασκευαστές
Οι κατασκευαστές είναι η σιωπηρή μέθοδος ενός αντικειμένου που μπορεί να αναφέρεται με το ίδιο όνομα με αυτό του τύπου αντικειμένου. Κάθε φορά που το αντικείμενο αναφέρεται για πρώτη φορά, αυτός ο κατασκευαστής θα καλείται σιωπηρά.
Μπορούμε επίσης να προετοιμάσουμε τα αντικείμενα χρησιμοποιώντας αυτούς τους κατασκευαστές. Ο κατασκευαστής μπορεί να οριστεί ρητά ορίζοντας το μέλος στο σώμα τύπου αντικειμένου με το ίδιο όνομα του τύπου αντικειμένου.
Παράδειγμα 1 : Στο ακόλουθο παράδειγμα πρόκειται να χρησιμοποιήσουμε το μέλος τύπου αντικειμένου για να εισαγάγουμε την εγγραφή στον πίνακα emp με τιμές («RRR», 1005, 20000, 1000) και («PPP», 1006, 20000, 1001). Μόλις εισαχθούν τα δεδομένα, θα εμφανίσουμε το ίδιο χρησιμοποιώντας μέλος τύπου αντικειμένου. Θα χρησιμοποιήσουμε επίσης τον ρητό κατασκευαστή για να συμπληρώσουμε το αναγνωριστικό διαχειριστή από προεπιλογή με τιμή 1001 για τη δεύτερη εγγραφή.
Θα το εκτελέσουμε στα παρακάτω βήματα.
- Βήμα 1:
- Δημιουργία τύπου αντικειμένου
- Σώμα τύπου αντικειμένου
- Βήμα 2: Δημιουργία ενός ανώνυμου μπλοκ για κλήση δημιουργημένου τύπου αντικειμένου μέσω σιωπηρής κατασκευής για το emp_no 1005.
- Βήμα 3: Δημιουργία ενός ανώνυμου μπλοκ για κλήση δημιουργούμενου τύπου αντικειμένου μέσω ρητού κατασκευαστή για το emp_no 1006.
Βήμα 1) Δημιουργία τύπου αντικειμένου και σώματος τύπου αντικειμένου
CREATE TYPE emp_object AS OBJECT(emp_no NUMBER,emp_name VARCHAR2(50),salary NUMBER,manager NUMBER,CONSTRUCTOR FUNCTION emp_object(p_emp_no NUMBER, p_emp_name VARCHAR2,p_salary NUMBER) RETURN SELF AS RESULT),MEMBER PROCEDURE insert_records,MEMBER PROCEDURE display_records);/
CREATE OR REPLACE TYPE BODY emp_object ASCONSTRUCTOR FUNCTION emp_object(p_emp_no NUMBER,p_emp_name VARCHAR2,p_salary NUMBER)RETURN SELF AS RESULTISBEGINDbms_output.put_line(’Constructor fired… ');SELF.emp_no:=p_emp_no;|SELF.emp_name:=p_emp_name;SELF.salary:=p_salary;SELF.managerial:=1001;RETURN;END:MEMBER PROCEDURE insert_recordsISBEGININSERT INTO emp VALUES(emp_noemp_name,salary,manager);ENDMEMBER PROCEDURE display_recordsISBEGINDbms_output.put_line('Employee Name:'||emp_name);Dbms_output.put_line('Employee Number:'||emp_no);Dbms_output.put_line('Salary':'||salary);Dbms_output.put_line('Manager:'||manager);END:END:/
Επεξήγηση κώδικα
- Γραμμή κώδικα 1-9 : Δημιουργία του τύπου αντικειμένου «emp_object» με 4 χαρακτηριστικά και 3 μέλη. Περιέχει τον ορισμό των κατασκευαστών με μόνο 3 παραμέτρους. (Ο πραγματικός σιωπηρός κατασκευαστής θα περιέχει τον αριθμό παραμέτρων ίσο με τον αριθμό των χαρακτηριστικών που υπάρχουν στον τύπο αντικειμένου)
- Γραμμή κώδικα 10 : Δημιουργία σώματος τύπου.
- Γραμμή κώδικα 11-21 : Ορισμός του ρητού κατασκευαστή. Αντιστοίχιση της τιμής παραμέτρου στα χαρακτηριστικά και εκχώρηση της τιμής για το χαρακτηριστικό "manager" με την προεπιλεγμένη τιμή "1001".
- Γραμμή κώδικα 22-26 : Καθορισμός του μέλους «insert_records» στο οποίο οι τιμές των χαρακτηριστικών εισάγονται στον πίνακα «emp».
- Γραμμή κώδικα 27-34 : Καθορισμός του μέλους 'display_records' στο οποίο εμφανίζει τις τιμές των χαρακτηριστικών τύπου αντικειμένου.
Παραγωγή
Ο τύπος δημιουργήθηκε
Τύπος σώματος που δημιουργήθηκε
Βήμα 2) Δημιουργία ανώνυμα μπλοκ για να καλέσετε δημιούργησε τύπο αντικειμένου μέσω σιωπηρών κατασκευαστή για emp_no 1005
DECLAREguru_emp_det emp_object;BEGINguru_emp_det:=emp_object(1005,’RRR',20000,1000);guru_emp_det.display_records;guru_emp_det.insert_records;COMMIT;END;
Επεξήγηση κώδικα
- Γραμμή κωδικού 37-45 : Εισαγωγή εγγραφών χρησιμοποιώντας τον σιωπηρό κατασκευαστή. Η κλήση στον κατασκευαστή περιέχει τον πραγματικό αριθμό τιμών των χαρακτηριστικών.
- Γραμμή κωδικού 38 : Δηλώνει το guru_emp_det ως τύπο αντικειμένου «emp_object».
- Γραμμή κώδικα 41 : Δήλωση «guru_emp_det.display_records» που ονομάζεται συνάρτηση μέλους «diplay_records» και εμφανίζονται οι τιμές των χαρακτηριστικών
- Γραμμή κώδικα 42 : Δήλωση «guru_emp_det.insert_records» που ονομάζεται συνάρτηση μέλους «insert_records» και οι τιμές των χαρακτηριστικών εισάγονται στον πίνακα.
Παραγωγή
Όνομα υπαλλήλου: RRR
Αριθμός υπαλλήλου: 1005
Μισθός: 20000
Διευθυντής: 1000
Βήμα 3) Δημιουργία ανώνυμου μπλοκ για κλήση τύπου αντικειμένου που δημιουργήθηκε μέσω ρητού κατασκευαστή για το emp_no 1006
DECLAREguru_emp_det emp_object;BEGINguru_emp_det:=emp_object(1006,'PPP',20000);guru_emp_det.display_records;guru_emp_det.insert_records;COMMIT;END;/
Παραγωγή
Employee Name:PPPEmployee Number:1006Salary:20000Manager:1001
Επεξήγηση κώδικα:
- Γραμμή κωδικού 46-53 : Εισαγωγή των εγγραφών χρησιμοποιώντας τον ρητό κατασκευαστή.
- Γραμμή κωδικού 46 : Δηλώνει το guru_emp_det ως τύπο αντικειμένου «emp_object».
- Γραμμή κωδικού 50 : Δήλωση «guru_emp_det.display_records» που ονομάζεται συνάρτηση μέλους «display_records» και εμφανίζονται οι τιμές των χαρακτηριστικών
- Γραμμή κώδικα 51 : Δήλωση «guru_emp_det.insert_records» που ονομάζεται συνάρτηση μέλους «insert_records» και οι τιμές των χαρακτηριστικών εισάγονται στον πίνακα.
Κληρονομικότητα στον τύπο αντικειμένου
Η ιδιότητα κληρονομικότητας επιτρέπει στον τύπο υπο-αντικειμένου να έχει πρόσβαση σε όλα τα χαρακτηριστικά και τα μέλη του τύπου σούπερ αντικειμένου ή γονικού αντικειμένου.
Ο τύπος υπο-αντικειμένου ονομάζεται τύπος κληρονομικού αντικειμένου και ο τύπος σούπερ αντικειμένου ονομάζεται τύπος γονικού αντικειμένου. Η παρακάτω σύνταξη δείχνει τον τρόπο δημιουργίας γονικού και κληρονομικού τύπου αντικειμένου.
CREATE TYPEAS OBJECT( ,… )NOT FINAL;/
Επεξήγηση σύνταξης:
- Η παραπάνω σύνταξη δείχνει τη δημιουργία τύπου SUPER.
CREATE TYPEUNDER ( ,.);/
Επεξήγηση σύνταξης:
- Η παραπάνω σύνταξη δείχνει τη δημιουργία τύπου SUB. Περιέχει όλα τα μέλη και τα χαρακτηριστικά από τον γονικό τύπο αντικειμένου.
Παράδειγμα 1: Στο παρακάτω παράδειγμα, θα χρησιμοποιήσουμε την ιδιότητα κληρονομιάς για να εισαγάγουμε την εγγραφή με το αναγνωριστικό διαχειριστή ως «1002» για την ακόλουθη εγγραφή («RRR», 1007, 20000).
Θα εκτελέσουμε το παραπάνω πρόγραμμα στα ακόλουθα βήματα
- Βήμα 1: Δημιουργία τύπου SUPER.
- Βήμα 2: Δημιουργήστε τύπο SUB και σώμα.
- Βήμα 3: Δημιουργία ενός ανώνυμου μπλοκ για να καλέσετε τον τύπο SUB.
Βήμα 1) Δημιουργήστε τύπο SUPER ή τύπο γονέα.
CREATE TYPE emp_object AS OBJECT(emp_no NUMBER,emp_name VARCHAR2(50),salary NUMBER,manager NUMBER,CONSTRUCTOR FUNCTION emp_object(p_emp_no NUMBER,p_emp_name VARCHAR2(50),p_salary NUMBER)RETURN SELF AS RESULT),MEMBER PROCEDURE insert_records,MEMBER PROCEDURE display_records)NOT FINAL;/
Επεξήγηση κώδικα:
- Γραμμή κώδικα 1-9 : Δημιουργία του τύπου αντικειμένου «emp_object» με 4 χαρακτηριστικά και 3 μέλη. Περιέχει τον ορισμό των κατασκευαστών με μόνο 3 παραμέτρους. Έχει δηλωθεί ως «ΟΧΙ ΤΕΛΙΚΟ» έτσι είναι γονικός τύπος.
Βήμα 2) Δημιουργήστε τύπο SUB κάτω από τον τύπο SUPER.
CREATE OR REPLACE TYPE sub_emp_objectUNDER emp_object(default_manager NUMBER,MEMBER PROCEDURE insert_default_mgr);/CREATE OR REPLACE TYPE BODY sub_emp_objectASMEMBER PROCEDURE insert_default_mgrISBEGININSERT INTO empVALUES(emp_no,emp_name:salary,manager):END;END;/
Επεξήγηση κώδικα:
- Γραμμή κώδικα 10-13 : Δημιουργία του sub_emp_object ως κληρονομικού τύπου με επιπλέον ένα χαρακτηριστικό "default_manager" και δήλωση διαδικασίας μέλους.
- Γραμμή κώδικα 14 : Δημιουργία του σώματος για τον κληρονομικό τύπο αντικειμένου.
- Γραμμή κώδικα 1 6 -21 : Καθορισμός της διαδικασίας μέλους που εισάγει τις εγγραφές στον πίνακα "emp" με τις τιμές από τον τύπο αντικειμένου "SUPER", εκτός από την τιμή διαχειριστή. Για τιμή διαχειριστή, χρησιμοποιεί τον τύπο "default_manager" από τον τύπο "SUB".
Βήμα 3) Δημιουργία ανώνυμου μπλοκ για να καλέσετε τον τύπο SUB
DECLAREguru_emp_det sub_emp_object;BEGINguru_emp_det:= sub_emp_object(1007,'RRR',20000,1000,1002);guru_emp_det.insert_default_mgr;COMMIT;END;/
Επεξήγηση κώδικα:
- Γραμμή κωδικού 25 : Δήλωση «guru_emp_det» ως τύπου «sub_emp_object».
- Γραμμή κώδικα 27 : Αρχικοποίηση του αντικειμένου με τον σιωπηρό κατασκευαστή. Ο κατασκευαστής έχει 5 παραμέτρους (4 χαρακτηριστικά από τύπο γονέα και 2 χαρακτηριστικά από τύπο SUB). Η τελευταία παράμετρος (1002) καθορίζει την τιμή για το χαρακτηριστικό default_manager
- Γραμμή κωδικού 28 : Κλήση του μέλους «insert_default_mgr» για εισαγωγή των εγγραφών με το προεπιλεγμένο αναγνωριστικό διαχειριστή που έχει περάσει στον κατασκευαστή.
Ισότητα αντικειμένων PL / SQL
Η παρουσία αντικειμένων που ανήκει στα ίδια αντικείμενα μπορεί να συγκριθεί για ισότητα. Για αυτό, πρέπει να έχουμε την ειδική μέθοδο στον τύπο αντικειμένου που ονομάζεται μέθοδο «ΠΑΡΑΓΓΕΛΙΑ».
Αυτή η μέθοδος «ΠΑΡΑΓΓΕΛΙΑ» πρέπει να είναι η συνάρτηση που επιστρέφει αριθμητικό τύπο. Χρειάζονται δύο παράμετροι ως είσοδος, (πρώτη παράμετρος: id της παρουσίας αντικειμένου, δεύτερη παράμετρος: id μιας άλλης παρουσίας αντικειμένου).
Συγκρίνεται το αναγνωριστικό της παρουσίας δύο αντικειμένων και το αποτέλεσμα επιστρέφεται αριθμητικά.
- Η θετική τιμή αντιπροσωπεύει ότι η παρουσία αντικειμένου SELF είναι μεγαλύτερη από μια άλλη παρουσία.
- Η αρνητική τιμή αντιπροσωπεύει ότι η παρουσία αντικειμένου SELF είναι μικρότερη από μια άλλη παρουσία.
- Το μηδέν αντιπροσωπεύει ότι η παρουσία αντικειμένου SELF είναι ίδια με μια άλλη παρουσία.
- Εάν κάποια από τις παρουσίες είναι μηδενική, τότε αυτή η συνάρτηση θα επιστρέψει μηδενική.
CREATE TYPE BODYAS OBJECT(ORDER MEMBER FUNCTION match( object_type_name_ 1)RETURN INTEGER IS BEGINIF parameter THENRETURN -1; --any negative number will doELSIF id>c.id THENRETURN 1; -any positive number will doELSERETURN 0;END IF;END;… );/
Επεξήγηση σύνταξης:
- Η παραπάνω σύνταξη δείχνει τη συνάρτηση ORDER που πρέπει να συμπεριληφθεί στο σώμα τύπου για έλεγχο ισότητας.
- Η παράμετρος για αυτήν τη συνάρτηση πρέπει να είναι μια παρουσία του ίδιου τύπου αντικειμένου.
- Η παραπάνω συνάρτηση μπορεί να ονομαστεί "obj_instance_1.match (obj_instance_2)" και αυτή η έκφραση θα επιστρέψει την αριθμητική τιμή όπως φαίνεται, όπου obj_instance_1 και obj_instance_2 είναι η παρουσία του object_type_name.
Παράδειγμα 1 : Στο ακόλουθο παράδειγμα θα δούμε πώς να συγκρίνουμε δύο αντικείμενα. Θα δημιουργήσουμε δύο περιπτώσεις και θα συγκρίνουμε το χαρακτηριστικό «μισθό» μεταξύ τους. Θα κάνουμε δύο βήματα.
- Βήμα 1: Δημιουργία τύπου αντικειμένου και σώματος.
- Βήμα 2: Η δημιουργία του ανώνυμου μπλοκ για κλήση συγκρίνει την παρουσία αντικειμένου.
Βήμα 1) Δημιουργία τύπου αντικειμένου και σώματος.
CREATE TYPE emp_object_equality AS OBJECT(salary NUMBER,ORDER MEMBER FUNCTION equals(c emp_object_equality)RETURN INTEGER);/
CREATE TYPE BODY emp_object_equality ASORDER MEMBER FUNCTION equals(c emp_object_equality)RETURN INTEGERISBEGIN IF salaryc.salaryTHEN RETURN 1;ELSERETURN 0;END IF: END;END;/
Επεξήγηση κώδικα:
- Γραμμή κώδικα 1-4: Δημιουργία του τύπου αντικειμένου «emp_object_equality» με 1 χαρακτηριστικά και 1 μέλος.
- Γραμμή κώδικα 6-16 : Καθορισμός της συνάρτησης ΠΑΡΑΓΓΕΛΙΑΣ που συγκρίνει το χαρακτηριστικό «μισθός» της παρουσίας SELF και του τύπου παρουσίας παραμέτρου Επιστρέφει αρνητικό εάν ο μισθός SELF είναι μικρότερος ή θετικός εάν ο μισθός SELF είναι μεγαλύτερος και 0 εάν οι μισθοί είναι ίσοι.
Έξοδος κώδικα:
Ο τύπος δημιουργήθηκε
Βήμα 2) Δημιουργία ανώνυμο μπλοκ για να καλέσετε συγκρίνει το παράδειγμα αντικειμένου.
DECLAREl_obj_l emp_object_equality;l_obj_2 emp_object_equality;BEGINl_obj_l:=emp_object_equality(15000);l_obj_2:=emp_object_equality(17000);IF l_obj_1.equalS(l_obj_2)>0THENDbms_output.put_line(’Salary of first instance is greater’):ELSIF l_obj_l.equalS(l_obj_2)<0THENDbms_output.put_line(’Salary of second instance is greater’);ELSEDbms_output.put_line(’Salaries are equal’);END IF;END;/
Παραγωγή
Salary of second instance is greater
Επεξήγηση κώδικα:
- Γραμμή κώδικα 20 : Δήλωση του l_obj_1 του τύπου emp_object_equality.
- Γραμμή κώδικα 21 : Δήλωση του l_obj_2 του τύπου emp_object_equality.
- Γραμμή κωδικού 23 : Αρχικοποίηση l_obj_1 με τιμή μισθού ως '15000'
- Γραμμή κωδικού 24 : Αρχικοποίηση l_obj_1 με τιμή μισθού ως «17000»
- Γραμμή κωδικού 25-33 : Εκτυπώστε το μήνυμα με βάση τον αριθμό επιστροφής από τη συνάρτηση ORDER.
Περίληψη
Σε αυτό το κεφάλαιο, έχουμε δει τον τύπο αντικειμένου και τις ιδιότητές τους. Έχουμε επίσης συζητήσει για Κατασκευαστές, Μέλη, Χαρακτηριστικά, Κληρονομικότητα και Ισότητα σε αντικείμενα PL / SQL.