30 most important pl sql interview questions
Κορυφαίες ερωτήσεις συνέντευξης PL / SQL με παραδείγματα που θα σας βοηθήσουν να προετοιμαστείτε για την προσεχή συνέντευξη:
Τι είναι το PL / SQL;
Το PL / SQL (Γλώσσα διαδικασίας / SQL) είναι βασικά μια διαδικαστική επέκταση του Oracle - SQL. Το PL / SQL βοηθά το χρήστη να αναπτύξει σύνθετες εφαρμογές βάσης δεδομένων χρησιμοποιώντας δομές ελέγχου, διαδικασίες, λειτουργίες, ενότητες κ.λπ.
Αυτό το άρθρο θα συζητήσει τις κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης PL / SQL.
Ερωτήσεις και απαντήσεις συνέντευξης PL / SQL
Ας αρχίσουμε!!
Ε # 1) Διαφοροποίηση PL / SQL και SQL;
Απάντηση: Η διαφορά μεταξύ SQL και PL / SQL μπορεί να κατηγοριοποιηθεί ως εξής:
SQL | PL / SQL |
---|---|
Η SQL είναι μια φυσική γλώσσα που είναι πολύ χρήσιμη για διαδραστική επεξεργασία. | Το PL / SQL είναι μια διαδικαστική επέκταση του Oracle - SQL. |
Δεν παρέχονται διαδικαστικές δυνατότητες όπως η δοκιμή συνθηκών, το looping δεν προσφέρεται από τη SQL. | Το PL / SQL υποστηρίζει διαδικαστικές δυνατότητες καθώς και λειτουργίες υψηλής γλώσσας, όπως δηλώσεις υπό όρους, δηλώσεις βρόχου κ.λπ. |
Όλες οι δηλώσεις SQL εκτελούνται από τον διακομιστή βάσης δεδομένων μία κάθε φορά, επομένως είναι μια χρονοβόρα διαδικασία. | Οι δηλώσεις PL / SQL στέλνουν ταυτόχρονα ολόκληρο το μπλοκ δηλώσεων στο διακομιστή βάσης δεδομένων, με αποτέλεσμα η κυκλοφορία δικτύου να μειώνεται σημαντικά. |
Δεν υπάρχουν διαδικασίες χειρισμού σφαλμάτων στο SQL. | Το PL / SQL υποστηρίζει προσαρμοσμένο χειρισμό σφαλμάτων. |
Q # 2) Καταχωρίστε τα χαρακτηριστικά του PL / SQL;
Απάντηση:
Τα χαρακτηριστικά του PL / SQL είναι τα εξής:
- Το PL / SQL επιτρέπει την πρόσβαση και την κοινή χρήση των ίδιων υποπρογραμμάτων από πολλές εφαρμογές.
- Είναι γνωστό για τη φορητότητα του κώδικα, καθώς ο κώδικας μπορεί να εκτελεστεί σε οποιοδήποτε λειτουργικό σύστημα, υπό την προϋπόθεση ότι το Oracle είναι φορτωμένο σε αυτό.
- Με PL / SQL οι χρήστες μπορούν να γράψουν τις δικές τους προσαρμοσμένες ρουτίνες χειρισμού σφαλμάτων.
- Βελτιωμένη απόδοση συναλλαγών με ενσωμάτωση στο λεξικό δεδομένων Oracle.
Q # 3) Ποιοι είναι οι διαθέσιμοι τύποι δεδομένων στο PL / SQL;
Απάντηση: Οι τύποι δεδομένων καθορίζουν τους τρόπους αναγνώρισης του τύπου των δεδομένων και των σχετικών λειτουργιών τους.
Υπάρχουν 4 τύποι προκαθορισμένων τύπων δεδομένων που εξηγούνται ως εξής:
- Τύποι κλιμακωτών δεδομένων: Ένας τύπος δεδομένων κλίμακας είναι ένας τύπος ατομικών δεδομένων που δεν έχει εσωτερικά στοιχεία.
- Για παράδειγμα
- CHAR (εύρος τιμών χαρακτήρων σταθερού μήκους μεταξύ 1 και 32.767 χαρακτήρες)
- VARCHAR2 (εύρος τιμών χαρακτήρων μεταβλητού μήκους μεταξύ 1 και 32.767 χαρακτήρες)
- ΑΡΙΘΜΟΣ (σταθερές-δεκαδικές, κυμαινόμενες-δεκαδικές ή ακέραιες τιμές)
- BOOLEAN (λογικός τύπος δεδομένων για τιμές TRUE FALSE ή NULL)
- DATE (αποθηκεύει πληροφορίες ημερομηνίας και ώρας)
- LONG (δεδομένα χαρακτήρων μεταβλητού μήκους)
- Τύποι σύνθετων δεδομένων: Ένας σύνθετος τύπος δεδομένων αποτελείται από άλλους τύπους δεδομένων και εσωτερικά στοιχεία που μπορούν εύκολα να χρησιμοποιηθούν και να χειριστούν. Για παράδειγμα, ΚΑΤΑΓΡΑΦΗ, ΠΙΝΑΚΑΣ και ΒΑΡΑΥ.
- Τύποι δεδομένων αναφοράς: Ένας τύπος δεδομένων αναφοράς περιέχει τιμές, που ονομάζονται δείκτες που ορίζουν άλλα στοιχεία προγράμματος ή στοιχεία δεδομένων. Για παράδειγμα, ΠΡΟΣΦΥΓΗ ΠΡΟΣΦΟΡΑΣ.
- Τύποι δεδομένων μεγάλου αντικειμένου: Ένας τύπος δεδομένων μεγάλου αντικειμένου διατηρεί τιμές, που ονομάζονται εντοπιστές, που καθορίζει τη θέση των μεγάλων αντικειμένων (όπως βίντεο κλιπ, γραφικής εικόνας κ.λπ.) που είναι αποθηκευμένα εκτός γραμμής.
- Για παράδειγμα
- BFILE (Δυαδικό αρχείο)
- BLOB (Δυαδικό μεγάλο αντικείμενο)
- CLOB (Μεγάλο αντικείμενο χαρακτήρα)
- NCLOB (μεγάλο αντικείμενο τύπου NCHAR)
Συνιστώμενη ανάγνωση = >> Τύποι δεδομένων PL SQL
Q # 4) Εξηγήστε τον σκοπό των τύπων δεδομένων% TYPE και% ROWTYPE με το παράδειγμα;
Απάντηση: Το PL / SQL χρησιμοποιεί το χαρακτηριστικό δήλωσης% TYPE για αγκύρωση. Αυτό το χαρακτηριστικό παρέχει τον τύπο δεδομένων μιας μεταβλητής, σταθεράς ή στήλης. Το χαρακτηριστικό% TYPE είναι χρήσιμο κατά τη δήλωση μιας μεταβλητής που έχει τον ίδιο τύπο δεδομένων με μια στήλη πίνακα.
Για παράδειγμα, η μεταβλητή m_empno έχει τον ίδιο τύπο και μέγεθος δεδομένων με τη στήλη Έμπνο στο τραπέζι emp.
m_empno emp.empno%TYPE;
Το χαρακτηριστικό% ROWTYPE χρησιμοποιείται για να δηλώσει μια μεταβλητή ως εγγραφή με την ίδια δομή με μια σειρά σε έναν πίνακα. Η σειρά ορίζεται ως εγγραφή και τα πεδία της έχουν τα ίδια ονόματα και τύπους δεδομένων με τις στήλες στον πίνακα ή την προβολή.
Για παράδειγμα:
dept_rec dept%ROWTYPE;
Αυτό δηλώνει μια εγγραφή που μπορεί να αποθηκεύσει μια ολόκληρη σειρά για τον πίνακα DEPT.
Ε # 5) Τι καταλαβαίνετε από τα πακέτα PL / SQL;
Απάντηση: Τα πακέτα PL / SQL είναι αντικείμενα σχήματος που ομαδοποιούν συναρτήσεις, αποθηκευμένες διαδικασίες, δρομείς και μεταβλητές σε ένα σημείο.
Τα πακέτα έχουν 2 υποχρεωτικά μέρη:
- Προδιαγραφές πακέτου
- Σώμα συσκευασίας
Q # 6) Τι καταλαβαίνετε από τους δρομείς PL / SQL;
Απάντηση: Το PL / SQL απαιτεί ειδική ικανότητα για ανάκτηση και επεξεργασία περισσότερων από μία σειρών και ο πόρος αυτός είναι γνωστός ως Δρομέας. Ο δρομέας είναι ένας δείκτης στην περιοχή περιβάλλοντος, η οποία είναι μια περιοχή μνήμης που περιέχει δηλώσεις SQL και πληροφορίες για την επεξεργασία των δηλώσεων.
Ο δρομέας PL / SQL είναι βασικά ένας μηχανισμός σύμφωνα με τον οποίο επιλέγονται πολλές σειρές δεδομένων από τη βάση δεδομένων και στη συνέχεια κάθε γραμμή επεξεργάζεται ξεχωριστά μέσα σε ένα πρόγραμμα.
Ε # 7) Εξηγήστε τους τύπους του δρομέα.
καλύτερο πρόγραμμα για το άνοιγμα αρχείων xml
Απάντηση: Υπάρχουν δύο τύποι δρομέων.
Εξηγούνται ως εξής:
α) ρητοί δρομείς: Για ερωτήματα που επιστρέφουν περισσότερες από μία σειρές, ένας ρητός δρομέας δηλώνεται και ονομάζεται από έναν προγραμματιστή. Για να χρησιμοποιήσετε ρητό δρομέα στο PL / SQL, ακολουθούν 4 βήματα
- Δηλώστε τον κέρσορα
Σύνταξη: Ο CURSOR είναι
SELECT δήλωση;
Εδώ, είναι το όνομα που αποδίδεται στον κέρσορα και η επιλογή SELECT είναι το ερώτημα που επιστρέφει σειρές στο ενεργό σύνολο δρομέα.
- Ανοίξτε τον κέρσορα
Σύνταξη: ΑΝΟΙΞΕ ;
Πού, είναι το όνομα του δρομέα που ορίστηκε προηγουμένως.
- Λήψη σειρών από τον κέρσορα
Σύνταξη: FETCH INTO;
Εδώ, αναφέρεται στο όνομα του δρομέα που ορίστηκε προηγουμένως από τον οποίο λαμβάνονται οι σειρές.
αντιπροσωπεύει τη λίστα των μεταβλητών που θα λάβουν τα δεδομένα που λαμβάνονται.
- Κλείσιμο του δρομέα
Σύνταξη: ΚΛΕΙΣΕ ;
Εδώ, κλείνει το όνομα του δρομέα.
β) Σιωπηροί δρομείς: Όταν εκτελείται οποιαδήποτε δήλωση SQL, το PL / SQL δημιουργεί αυτόματα έναν δρομέα χωρίς να ορίζει ότι οι δρομείς είναι γνωστοί ως σιωπηροί δρομείς.
Για τις ακόλουθες δηλώσεις, το PL / SQL χρησιμοποιεί σιωπηρούς δρομείς
- ΕΙΣΑΓΕΤΕ
- ΕΚΣΥΓΧΡΟΝΙΖΩ
- ΔΙΑΓΡΑΦΩ
- SELECT (ερωτήματα που επιστρέφουν ακριβώς μία σειρά)
Ε # 8) Πότε χρησιμοποιούμε κανόνες ετικέτας;
Απάντηση: Η λέξη «Trigger» σημαίνει ενεργοποίηση. Στο PL / SQL, το trigger είναι μια αποθηκευμένη διαδικασία που καθορίζει μια ενέργεια που λαμβάνεται από τη βάση δεδομένων όταν εκτελείται το συμβάν που σχετίζεται με τη βάση δεδομένων.
Απαιτούνται κυρίως κανόνες για τους ακόλουθους σκοπούς:
- Διατήρηση σύνθετων περιορισμών ακεραιότητας
- Πληροφορίες πίνακα ελέγχου καταγράφοντας τις αλλαγές
- Σηματοδότηση άλλων ενεργειών προγράμματος όταν γίνονται αλλαγές στον πίνακα
- Επιβολή σύνθετων επιχειρηματικών κανόνων
- Πρόληψη μη έγκυρων συναλλαγών
Ε # 9) Εξηγήστε τη διαφορά στην εκτέλεση σκανδάλης και αποθηκευμένων διαδικασιών;
Απάντηση: Μια αποθηκευμένη διαδικασία εκτελείται ρητά με την έκδοση δήλωσης κλήσης διαδικασίας από άλλο μπλοκ μέσω κλήσης διαδικασίας με ορίσματα.
Η σκανδάλη εκτελείται σιωπηρά όποτε συμβαίνει κάποιο συμβάν ενεργοποίησης όπως η εμφάνιση δηλώσεων DML.
Ερώτηση # 10) Εξηγήστε τη διαφορά μεταξύ Ενεργοποιητών και Περιορισμών;
Απάντηση: Οι κανόνες ενεργοποίησης διαφέρουν από τους περιορισμούς με τους ακόλουθους τρόπους:
Ενεργοποιητές | Περιορισμοί |
---|---|
Επηρεάζει μόνο αυτές τις σειρές που προστίθενται μετά την ενεργοποίηση της σκανδάλης. | Επηρεάζει όλες τις σειρές του πίνακα, συμπεριλαμβανομένων εκείνων που υπάρχουν ήδη όταν είναι ενεργοποιημένος ο περιορισμός. |
Τα Triggers χρησιμοποιούνται για την εφαρμογή σύνθετων επιχειρηματικών κανόνων που δεν μπορούν να εφαρμοστούν χρησιμοποιώντας περιορισμούς ακεραιότητας. | Οι περιορισμοί διατηρούν την ακεραιότητα της βάσης δεδομένων. |
Q # 11) Τι είναι ένα μπλοκ PL / SQL;
Απάντηση: Στο PL / SQL, οι δηλώσεις ομαδοποιούνται σε μονάδες που ονομάζονται Μπλοκ. Τα μπλοκ PL / SQL μπορούν να περιλαμβάνουν σταθερές, μεταβλητές, δηλώσεις SQL, βρόχους, δηλώσεις υπό όρους, χειρισμό εξαιρέσεων. Τα μπλοκ μπορούν επίσης να δημιουργήσουν μια διαδικασία, μια συνάρτηση ή ένα πακέτο.
Ευρέως, Τα μπλοκ PL / SQL είναι δύο τύποι:
(i) Ανώνυμα μπλοκ: Τα μπλοκ PL / SQL χωρίς κεφαλίδα είναι γνωστά ως ανώνυμα μπλοκ. Αυτά τα μπλοκ δεν αποτελούν το σώμα μιας διαδικασίας, λειτουργίας ή ενεργοποίησης.
Παράδειγμα:
DECLARE num NUMBER(2); sq NUMBER(3); BEGIN num:= &Number1; sq := num*num; DBMS_OUTPUT.PUT_LINE(‘Square:’ ||sq); END;
(ii) Ονομαζόμενα τεμάχια: Τα μπλοκ PL / SQL που έχουν κεφαλίδα ή ετικέτες είναι γνωστά ως μπλοκ με όνομα. Τα ονομαζόμενα μπλοκ μπορεί να είναι είτε υποπρογράμματα (διαδικασίες, συναρτήσεις, πακέτα) είτε Triggers.
Συνιστώμενη ανάγνωση = >> Διαδικασίες και λειτουργίες PL SQL
Παράδειγμα:
FUNCTION sqr (num IN NUMBER) RETURN NUMBER is sq NUMBER(2); BEGIN sq:= num*num; RETURN sq; END;
Ε # 12) Διαφοροποίηση μεταξύ σφαλμάτων σύνταξης και χρόνου εκτέλεσης;
Απάντηση:
Σφάλματα σύνταξης είναι αυτό που μπορεί εύκολα να αναγνωριστεί από έναν μεταγλωττιστή PL / SQL. Αυτά τα σφάλματα μπορεί να είναι ορθογραφικό λάθος κ.λπ.
Σφάλματα χρόνου εκτέλεσης είναι αυτά τα σφάλματα στο μπλοκ PL / SQL για τα οποία πρέπει να συμπεριληφθεί μια ενότητα χειρισμού εξαιρέσεων για τον χειρισμό των σφαλμάτων. Αυτά τα σφάλματα μπορούν να είναι SELECT INTO δήλωση που δεν επιστρέφει σειρές.
Ερ. 13) Τι είναι η ΕΠΙΤΡΟΠΗ, ΤΟ ΑΝΤΙΠΡΟΣΩΠΕΙΟ και η ΑΠΟΘΗΚΕΥΣΗ;
Απάντηση: COMMIT, SAVEPOINT και ROLLBACK είναι τρεις προδιαγραφές συναλλαγών διαθέσιμες σε PL / SQL.
Δήλωση ΕΠΙΤΡΟΠΗΣ: Όταν εκτελείται η λειτουργία DML, χειρίζεται μόνο δεδομένα στο buffer βάσης δεδομένων και η βάση δεδομένων παραμένει ανεπηρέαστη από αυτές τις αλλαγές. Για να αποθηκεύσετε / αποθηκεύσετε αυτές τις αλλαγές συναλλαγών στη βάση δεδομένων, πρέπει να δεσμεύσουμε τη συναλλαγή. Η συναλλαγή COMMIT αποθηκεύει όλες τις εκκρεμείς αλλαγές από την τελευταία COMMIT και συμβαίνει η ακόλουθη διαδικασία
- Απελευθερώνονται κλειδωμένες σειρές
- Η συναλλαγή επισημάνθηκε ως πλήρης
- Η λεπτομέρεια συναλλαγής αποθηκεύεται στο λεξικό δεδομένων.
Σύνταξη: ΔΙΑΠΡΑΤΤΩ;
Δήλωση ROLLBACK: Όταν θέλουμε να αναιρέσουμε ή να διαγράψουμε όλες τις αλλαγές που έχουν πραγματοποιηθεί στην τρέχουσα συναλλαγή μέχρι στιγμής, πρέπει να επαναφέρουμε τη συναλλαγή. Με άλλα λόγια, το ROLLBACK διαγράφει όλες τις εκκρεμείς αλλαγές από την τελευταία COMMIT ή ROLLBACK.
Πλαίσιο βάσει δεδομένων στο παράδειγμα προγράμματος οδήγησης ιστού σεληνίου
Σύνταξη για πλήρη επαναφορά μιας συναλλαγής:
ΡΟΛΟΠΟΙ;
Δήλωση SAVEPOINT: Η δήλωση SAVEPOINT δίνει ένα όνομα και σηματοδοτεί ένα σημείο στην επεξεργασία της τρέχουσας συναλλαγής. Οι αλλαγές και οι κλειδαριές που έχουν συμβεί πριν από το SAVEPOINT στη συναλλαγή διατηρούνται, ενώ αυτές που συμβαίνουν μετά την κυκλοφορία του SAVEPOINT.
Σύνταξη:
ΑΠΟΘΗΚΕΥΣΗ
Q # 14) Τι είναι ο πίνακας μετάλλαξης και ο περιορισμός;
Απάντηση: Ένας πίνακας που επί του παρόντος τροποποιείται από μια δήλωση DML, όπως ο ορισμός ενεργοποιήσεων σε έναν πίνακα, είναι γνωστός ως Πίνακας μετάλλαξης .
Ένας πίνακας που μπορεί να χρειαστεί να διαβαστεί για έναν περιορισμό ακεραιότητας αναφοράς είναι γνωστός ως περιοριστικός πίνακας .
Ε # 15) Ποιες είναι οι πραγματικές παράμετροι και οι τυπικές παράμετροι;
Απάντηση: Οι μεταβλητές ή μια παράσταση που αναφέρονται ως παράμετροι που εμφανίζονται στη δήλωση κλήσης διαδικασίας είναι γνωστές ως Πραγματικές παράμετροι .
Για παράδειγμα: raise_sal (emp_num, αξία + ποσό);
Εδώ στο παραπάνω παράδειγμα, το emp_num και το ποσό είναι οι δύο πραγματικές παράμετροι.
Οι μεταβλητές που δηλώνονται στην κεφαλίδα της διαδικασίας και αναφέρονται στο σώμα της διαδικασίας ονομάζονται ως Τυπικές παράμετροι .
Για παράδειγμα:
ΔΙΑΔΙΚΑΣΙΑ raise_sal (emp_id INTEGER) IS
curr_sal ΠΡΑΓΜΑΤΙΚΟ:
……… ..
ΝΑ ΑΡΧΙΣΕΙ
ΕΠΙΛΕΞΤΕ sal INTO cur_sal ΑΠΟ emp WHERE empno = emp_id;
…….
ΤΕΛΟΣ raise_sal;
Εδώ στο παραπάνω παράδειγμα, το emp_id ενεργεί ως τυπική παράμετρος.
Q # 16) Ποια είναι η διαφορά μεταξύ των δηλώσεων ROLLBACK και ROLLBACK TO;
Απάντηση: Η συναλλαγή τερματίστηκε πλήρως μετά τη δήλωση ROLLBACK, δηλ. Η εντολή ROLLBACK αναιρεί εντελώς μια συναλλαγή και αποδεσμεύει όλες τις κλειδαριές.
Από την άλλη πλευρά, μια συναλλαγή εξακολουθεί να είναι ενεργή και εκτελείται μετά την εντολή ROLLBACK TO, καθώς αναιρεί μόνο ένα μέρος της συναλλαγής μέχρι το δεδομένο SAVEPOINT.
Ε # 17) Γράψτε ένα σενάριο PL / SQL για να εμφανίσετε τις ακόλουθες σειρές αριθμών: 99,96,93 …… 9,6,3;
Απάντηση
SET SERVER OUTPUT ON DECLARE BEGIN FOR i IN REVERSE 1..99 LOOP IF Mod(i,3) = 0 THEN DBMS_OUTPUT.PUT_LINE(i); END IF; END LOOP; END; /
Q # 18) Ποιοι είναι οι 3 τρόποι παραμέτρου;
Απάντηση: 3 τρόποι της παραμέτρου είναι IN, OUT, IN OUT.
Αυτά μπορούν να εξηγηθούν ως εξής:
- Παράμετροι IN: Οι παράμετροι IN σας επιτρέπουν να μεταφέρετε τιμές στη διαδικασία που καλείται και μπορεί να αρχικοποιηθεί σε προεπιλεγμένες τιμές. Οι παράμετροι IN ενεργούν σαν μια σταθερά και δεν μπορούν να αντιστοιχιστούν καμία τιμή.
- OUT παράμετροι: Οι παράμετροι OUT επιστρέφουν την τιμή στον καλούντα και πρέπει να καθοριστούν. Οι παράμετροι OUT λειτουργούν σαν μια μη αρχική μεταβλητή και δεν μπορούν να χρησιμοποιηθούν σε μια παράσταση.
- Παράμετροι IN OUT: Οι παράμετροι IN OUT μεταβιβάζουν τις αρχικές τιμές σε μια διαδικασία και επιστρέφουν τις ενημερωμένες τιμές στον καλούντα. Οι παράμετροι IN OUT λειτουργούν σαν μια αρχικοποιημένη μεταβλητή και θα πρέπει να έχουν μια τιμή.
Q # 19) Γιατί το% ISOPEN είναι πάντα ψευδές για έναν σιωπηρό δρομέα;
Απάντηση: Ένας σιωπηρός δρομέας, το χαρακτηριστικό SQL% ISOPEN είναι πάντα λανθασμένος επειδή ο σιωπηρός δρομέας ανοίγει για μια δήλωση DML και κλείνει αμέσως μετά την εκτέλεση της δήλωσης DML.
Ε # 20) Όταν εκτελείται μια δήλωση DML, σε ποια χαρακτηριστικά του δρομέα, αποθηκεύεται το αποτέλεσμα της δήλωσης;
Απάντηση: Το αποτέλεσμα της δήλωσης αποθηκεύεται σε 4 χαρακτηριστικά του δρομέα.
Αυτά είναι:
- SQL% FOUND
- SQL% ΔΕΝ ΧΡΕΙΑΖΕΤΑΙ
- % ROWCOUNT SQL
- SQL% ISOPEN
Ε # 21) Ποιοι είναι οι τρόποι σχολιασμού σε έναν κώδικα PL / SQL;
Απάντηση: Τα σχόλια είναι το κείμενο που περιλαμβάνεται στον κώδικα για την ενίσχυση της αναγνωσιμότητας και για την κατανόηση του αναγνώστη. Αυτοί οι κωδικοί δεν εκτελούνται ποτέ.
Υπάρχουν δύο τρόποι σχολιασμού στο PL / SQL:
1) Σχόλιο μίας γραμμής: Αυτό το σχόλιο ξεκινά με το διπλό -.
Παράδειγμα:
ΔΗΛΩΝΩ
αριθμός ΑΡΙΘΜΟΣ (2); - είναι μια τοπική μεταβλητή.
ΝΑ ΑΡΧΙΣΕΙ
2) Σχόλιο πολλαπλών γραμμών: Αυτό το σχόλιο ξεκινά με / * και τελειώνει με * /.
Παράδειγμα:
ΝΑ ΑΡΧΙΣΕΙ
αριθμός: = & p_num; / * Αυτή είναι μια μεταβλητή κεντρικού υπολογιστή που χρησιμοποιείται στο σώμα του προγράμματος * /
……….
ΤΕΛΟΣ
Q # 22) Τι καταλαβαίνετε με το Exception handling σε PL / SQL;
Απάντηση: Όταν παρουσιάζεται σφάλμα σε PL / SQL, δημιουργείται η εξαίρεση. Με άλλα λόγια, για τον χειρισμό ανεπιθύμητων καταστάσεων όπου τα σενάρια PL / SQL τερματίστηκαν απροσδόκητα, περιλαμβάνεται ένας κωδικός χειρισμού σφαλμάτων στο πρόγραμμα. Στο PL / SQL, όλος ο κώδικας χειρισμού εξαιρέσεων τοποθετείται σε μια ενότητα ΕΞΑΙΡΕΣΗ.
Υπάρχουν 3 τύποι εξαίρεσης:
- Προκαθορισμένες εξαιρέσεις: Συνηθισμένα σφάλματα με προκαθορισμένα ονόματα.
- Απροσδιόριστες εξαιρέσεις: Λιγότερα κοινά σφάλματα χωρίς προκαθορισμένα ονόματα.
- Εξαιρέσεις που καθορίζονται από τον χρήστη: Μην προκαλείτε σφάλμα χρόνου εκτέλεσης αλλά παραβιάζετε τους επιχειρηματικούς κανόνες.
Ε # 23) Να καταχωρίσετε ορισμένες προκαθορισμένες εξαιρέσεις;
Απάντηση:
Μερικές από τις προκαθορισμένες εξαιρέσεις είναι:
- ΔΕ ΒΡΕΘΗΚΑΝ ΔΕΔΟΜΕΝΑ: Δήλωση SELECT μονής σειράς όπου δεν επιστρέφονται δεδομένα.
- TOO_MANY_ROWS: Δήλωση SELECT μίας σειράς όπου επιστρέφονται περισσότερες από μία σειρές.
- INVALID_CURSOR: Παρουσιάστηκε παράνομη λειτουργία δρομέα.
- ZERO_DIVIDE: Επιχειρήθηκε να διαιρεθεί με μηδέν.
Q # 24) Τι είναι οι εξαιρέσεις του δρομέα PL / SQL;
Απάντηση:
Οι εξαιρέσεις που σχετίζονται με τους δρομείς PL / SQL είναι:
- CURSOR_ALREADY_OPEN
- INVALID_CURSOR
Ε # 25) Εξηγήστε τη διαφορά μεταξύ του δρομέα που δηλώνεται στις διαδικασίες και των δρομέων που δηλώνονται στις προδιαγραφές του πακέτου;
Απάντηση: Ο δρομέας που δηλώνεται στη διαδικασία αντιμετωπίζεται ως τοπικός και ως εκ τούτου δεν είναι προσβάσιμος από άλλες διαδικασίες.
Ο δρομέας που δηλώνεται στην προδιαγραφή του πακέτου αντιμετωπίζεται ως καθολικός και έτσι μπορεί να προσεγγιστεί με άλλες διαδικασίες.
Q # 26) Τι είναι το INSTEAD OF triggers;
Απάντηση: Το INSTEAD OF triggers είναι τα triggers που γράφονται ειδικά για τροποποίηση προβολών, τα οποία δεν μπορούν να τροποποιηθούν απευθείας μέσω των δηλώσεων SQL DML.
Q # 27) Τι είναι οι εκφράσεις;
Απάντηση: Οι εκφράσεις αντιπροσωπεύονται από μια ακολουθία κυριολεκτικών και μεταβλητών που διαχωρίζονται από τους τελεστές. Στο PL / SQL, οι λειτουργίες χρησιμοποιούνται για χειρισμό, σύγκριση και υπολογισμό ορισμένων δεδομένων. Μια έκφραση είναι μια σύνθεση των «Operators» και «Operands».
- Λειτουργίες: Αυτά είναι ένα επιχείρημα για τους χειριστές. Οι τελεστές μπορούν να είναι μια μεταβλητή, μια κλήση λειτουργίας ή μια σταθερά.
- Χειριστές: Αυτά καθορίζουν τις ενέργειες που πρέπει να εκτελεστούν στους χειριστές. Παράδειγμα: '+', '*', Κ.λπ.
Q # 28) Καταγράψτε διαφορετικούς τύπους εκφράσεων με το παράδειγμα.
Απάντηση: Οι εκφράσεις μπορούν να είναι όπως αναφέρονται παρακάτω:
- Αριθμητικές ή αριθμητικές εκφράσεις: Παράδειγμα: 20 * 10+ 15
- Boolean εκφράσεις: Παράδειγμα: «Spot» LIKE «sp% t»
- Εκφράσεις συμβολοσειρών: Παράδειγμα: ΜΗΚΟΣ («ΝΕΑ ΥΟΡΚΗ» || «NY»)
- Εκφράσεις ημερομηνίας: Παράδειγμα: SYSDATE> TO_DATE («15 -NOV-16», «ηη-μμ-εε»)
Ε # 29) Γράψτε ένα πρόγραμμα που δείχνει τη χρήση του βρόχου WHILE για τον υπολογισμό του μέσου όρου των αριθμών που έχουν εισαχθεί από τον χρήστη και η εισαγωγή περισσότερων αριθμών σταματάει εισάγοντας τον αριθμό 0;
Απάντηση
DECLARE n NUMBER; avg NUMBER :=0 ; sum NUMBER :=0 ; count NUMBER :=0 ; BEGIN n := &enter_a_number; WHILE(n0) LOOP count := count+1; sum := sum+n; n := &enter_a_number; END LOOP; avg := sum/count; DBMS_OUTPUT.PUT_LINE(‘the average is’||avg); END;
Q # 30) Τι καταλαβαίνετε από τις εγγραφές PL / SQL;
Απάντηση: Οι εγγραφές PL / SQL μπορούν να αναφέρονται ως μια συλλογή τιμών ή για παράδειγμα, μια ομάδα πολλαπλών πληροφοριών, καθένα από τα οποία είναι απλούστερου τύπου και μπορεί να σχετίζεται μεταξύ τους ως πεδία.
Υπάρχουν τρεις τύποι εγγραφών που υποστηρίζονται στο PL / SQL:
- Εγγραφές βάσει πίνακα
- Εγγραφές βάσει προγραμματιστή
- Εγγραφές βασισμένες στον κέρσορα
συμπέρασμα
Το PL / SQL είναι πολύ μεγάλο όταν πρόκειται για μάθηση και εφαρμογή. Ελπίζω αυτές οι ερωτήσεις και οι απαντήσεις της συνέντευξης να σας βοηθήσουν να περάσετε.
εργαλεία διαχείρισης δεδομένων δοκιμής ανοιχτού κώδικα
Για να μάθετε περισσότερα σχετικά με το PL SQL διαβάστε την περιεκτική μας Σεμινάριο PL / SQL .
Καλή μάθηση !!
Συνιστώμενη ανάγνωση
- Ερωτήσεις και απαντήσεις συνέντευξης
- Ερωτήσεις και απαντήσεις συνέντευξης δοκιμών ETL
- Κορυφαίες 30+ δημοφιλείς ερωτήσεις και απαντήσεις συνέντευξης αγγουριών
- Top 30 ερωτήσεις και απαντήσεις συνέντευξης SAS
- Κορυφαίες ερωτήσεις συνέντευξης Oracle: Ερωτήσεις Oracle Basic, SQL, PL / SQL
- Κορυφαίες ερωτήσεις και απαντήσεις στη συνέντευξη δοκιμής ασφαλείας
- 30+ Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης Scrum (2021 LIST)
- Κορυφαίες 30 ερωτήσεις και απαντήσεις συνέντευξης DBMS