pl sql cursor strings
Σε αυτό το σεμινάριο, θα μάθουμε τι είναι ένας δρομέας PL SQL και συναφείς έννοιες όπως οι έμμεσοι και ρητοί δρομείς, ο δρομέας για βρόχο κ.λπ. Θα μάθουμε επίσης για τις λειτουργίες συμβολοσειράς στο PL / SQL:
Στο Συλλογές PL SQL φροντιστήριο του Σειρά PL / SQL , μάθαμε για τις μεθόδους συλλογής, το Varray, τον πίνακα Nested και το Associative Array με τη βοήθεια παραδειγμάτων κώδικα.
Σε αυτό το άρθρο, θα διερευνήσουμε τους διάφορους τύπους δρομέων που διαθέτει το PL / SQL. Θα δούμε επίσης την εφαρμογή διαφορετικών τύπων δρομέων με παραδείγματα κώδικα.
Επίσης, θα συζητήσουμε τις συμβολοσειρές και μερικές από τις ενσωματωμένες συναρτήσεις συμβολοσειρών που είναι διαθέσιμες στο PL / SQL.
sql server 2012 ερωτήσεις και απαντήσεις συνέντευξης
Τι θα μάθετε:
Δρομέας PL SQL
Η Oracle έχει αφιερώσει θέσεις μνήμης για την εκτέλεση δηλώσεων SQL και στη συνέχεια διατηρεί αυτές τις επεξεργασμένες πληροφορίες, για παράδειγμα , ο συνολικός αριθμός σειρών ενημερώθηκε.
Ένας δρομέας στο PL / SQL δίνει ένα όνομα και ενεργεί ως δείκτης στην περιοχή εργασίας που ονομάζεται περιοχή περιβάλλοντος και στη συνέχεια χρησιμοποιεί τις πληροφορίες του. Διατηρεί τον αριθμό των γραμμών που υποβάλλονται σε επεξεργασία από τη δήλωση SQL. Αυτές οι σειρές ονομάζονται ως ενεργό σύνολο. Το μέγεθος του ενεργού συνόλου είναι ίσο με το πλήθος των σειρών που πληρούν την κατάσταση.
Υπάρχουν δύο τύποι δρομέων που παρατίθενται παρακάτω:
- Σιωπηρός δρομέας
- Άμεσος δρομέας
Σιωπηλοί δρομείς
Οι σιωπηροί δρομείς εκχωρούνται από την Oracle από προεπιλογή κατά την εκτέλεση των δηλώσεων SQL. Διατηρεί τις επηρεαζόμενες σειρές από τις λειτουργίες DML όπως ΕΝΗΜΕΡΩΣΗ, ΔΙΑΓΡΑΦΗ και ΕΙΣΑΓΩΓΗ. Έτσι, οι σιωπηροί δρομείς χρησιμοποιούνται όταν δεν έχουμε έναν σαφή δρομέα στη θέση του.
Ενώ εισάγουμε μια σειρά, ο δρομέας διατηρεί τα συγκεκριμένα δεδομένα. Ομοίως, για διαγραφή και ενημέρωση λειτουργιών, οι επηρεαζόμενες σειρές αποθηκεύονται από τους δρομείς. Οι σιωπηροί δρομείς δεν έχουν κανένα όνομα και ως εκ τούτου δεν μπορούν να χειραγωγηθούν από τους προγραμματιστές και τα δεδομένα που περιέχονται σε αυτό δεν μπορούν να χρησιμοποιηθούν πουθενά.
Οι πιο πρόσφατοι ενημερωμένοι δρομείς μπορούν να χρησιμοποιηθούν με τη βοήθεια των χαρακτηριστικών του δρομέα. Αυτά τα χαρακτηριστικά είναι οι ιδιότητες που βοηθούν στην αναφορά στον τύπο δεδομένων και τη δομή των στοιχείων χωρίς να επαναλαμβάνονται οι ορισμοί τους. Όλες οι στήλες και οι πίνακες σε μια βάση δεδομένων έχουν ένα κοινό χαρακτηριστικό (αντιπροσωπεύεται από% sign) χαρακτηριστικά και μπορούν να χρησιμοποιηθούν ως sql% attribute_name.
Sl Όχι. | Ονομα | Σκοποί |
---|---|---|
7 | ΜΗΚΟΣ (μ) | Επιστρέφει την καταμέτρηση του αριθμού των χαρακτήρων στη συμβολοσειρά m. |
1 | %ΒΡΕΘΗΚΑΝ | Δίνει το αποτέλεσμα σε boolean. Επιστρέφει true εάν οι δηλώσεις DELETE, INSERT, UPDATE ή SELECT επηρεάζουν μία ή περισσότερες σειρές. Διαφορετικά επιστρέφεται ψευδές. |
δύο | %ΔΕΝ ΒΡΕΘΗΚΕ | Δίνει το αποτέλεσμα σε boolean και έχει αντίστροφη λειτουργικότητα% FOUND. Επιστρέφει true εάν οι δηλώσεις DELETE, INSERT, UPDATE ή SELECT δεν επηρεάζουν σειρές. Διαφορετικά επιστρέφεται ψευδές. |
3 | %ΕΙΝΑΙ ΑΝΟΙΧΤΟ | Δίνει το αποτέλεσμα σε boolean. Επιστρέφει true αν ο δρομέας είναι προς το παρόν ανοιχτός. Διαφορετικά επιστρέφεται ψευδές. |
4 | % ROWCOUNT | Δίνει το πλήθος του αριθμού των σειρών που έχουν ληφθεί από τις δηλώσεις DELETE, INSERT, UPDATE ή SELECT. |
5 | %ΤΥΠΟΣ | Δίνει τον τύπο δεδομένων της στήλης ή της μεταβλητής της βάσης δεδομένων. |
6 | % ROWTYPE | Δίνει τον τύπο εγγραφής που είναι ισοδύναμος με μια γραμμή βάσης δεδομένων. |
Ας εξετάσουμε έναν πίνακα που ονομάζεται TUTOR.
SELECT * FROM TUTOR;
Έχουμε δημιουργήσει έναν πίνακα με τη δήλωση SQL που δίνεται παρακάτω:
CREATE TABLE TUTOR( CODE INT NOT NULL, SUBJECT VARCHAR(15) NOT NULL, TEACHER VARCHAR(15), REVIEWS VARCHAR (10) NOT NULL, PRIMARY KEY (CODE) );
Έγινε εισαγωγή τιμών σε αυτόν τον πίνακα με δηλώσεις SQL που δίνονται παρακάτω:
INSERT INTO TUTOR (CODE,SUBJECT,TEACHER,REVIEWS) VALUES (1, 'Automation', 'Mukul', 'five stars'); INSERT INTO TUTOR (CODE,SUBJECT,TEACHER,REVIEWS) VALUES (4, 'PLSQL', 'Anand', 'four stars'); INSERT INTO TUTOR (CODE,SUBJECT,TEACHER,REVIEWS) VALUES (2, 'Performance', 'Arvind', 'four stars');
Εφαρμογή κώδικα με τον σιωπηρό δρομέα:
DECLARE total_count number(30); BEGIN --updating a row UPDATE TUTOR SET TEACHER = 'Zen' where CODE = 1; -- result in boolean, true returned if no rows affected IF sql%notfound THEN dbms_output.put_line('no subjects fetched'); -- result in boolean, true returned if any rows affected ELSIF sql%found THEN -- count the number of rows affected rows affected total_count := sql%rowcount; dbms_output.put_line( total_count || ' teacher name updated '); END IF; END; /
Η έξοδος του παραπάνω κώδικα πρέπει να είναι:
Ας επαληθεύσουμε τώρα τις αλλαγές που εμφανίζονται στον πίνακα με το όνομα TUTOR.
Χρησιμοποιούμε μια δήλωση SQL για να λάβουμε τις στήλες του πίνακα:
SELECT * FROM TUTOR;
Έτσι βλέπουμε ότι, όπως δείχνει ο δρομέας, το όνομα του δασκάλου με κωδικό = 1, ενημερώνεται στο Zen.
Άμεσοι δρομείς
Οι προγραμματιστές μπορούν να έχουν τη δική τους καθορισμένη από το χρήστη περιοχή περιβάλλοντος για την εκτέλεση λειτουργιών DML. Έτσι μπορούν να ασκήσουν περισσότερη δύναμη πάνω του. Η ενότητα δήλωσης του μπλοκ κώδικα PL / SQL περιέχει ρητούς δρομείς. Συνήθως βασίζεται σε λειτουργίες SELECT που λαμβάνουν πολλές σειρές.
Σύνταξη ρητού δρομέα:
DECLARE CURSOR <> IS <> <> BEGIN OPEN <>; FETCH <> INTO ; . . CLOSE ; END;
Ο ρητός δρομέας λειτουργεί στις παρακάτω διαδικασίες:
# 1) Δήλωση δρομέα για αρχικοποίηση μνήμης. Εδώ, δημιουργείται μια ονομαστική περιοχή περιβάλλοντος που χρησιμεύει ως όνομα δρομέα.
Σύνταξη:
CURSOR tutorial_s IS SELECT code FROM TUTORIAL;
#δύο) Άνοιγμα δρομέα για κατανομή μνήμης . Ένας δρομέας είναι πλέον διαθέσιμος για τη λήψη των ενημερωμένων σειρών από τη βάση δεδομένων.
Σύνταξη:
OPEN tutorial_s;
# 3) Ανακτήθηκε ο δρομέας για τη λήψη των δεδομένων. Αφού ολοκληρωθεί η λειτουργία SELECT, οι σειρές που λαμβάνονται τοποθετούνται στη μνήμη που έχει εκχωρηθεί και αυτές πλέον θεωρούνται ενεργά σύνολα. Ο δρομέας μπορεί να έχει πρόσβαση σε μία σειρά κάθε φορά.
Σύνταξη:
FETCH tutorial_s INTO c_code;
# 4) Ο δρομέας κλείνει τελικά για να ελευθερώσει την εκχωρημένη μνήμη. Καθώς λαμβάνονται όλες οι εγγραφές μία προς μία, ο δρομέας κλείνει για να απελευθερώσει τη μνήμη της περιοχής περιβάλλοντος.
Σύνταξη:
CLOSE tutorial_s;
Εφαρμογή κώδικα με ρητό δρομέα:
DECLARE -- cursor declaration CURSOR t_tutorials is SELECT code, subject, teacher FROM Tutor; t_code Tutor.code%type; t_subject Tutor.subject%type; t_teacher Tutor.teacher%type; BEGIN -- opening a cursor OPEN t_tutorials; LOOP -- fetching values from cursor FETCH t_tutorials into t_code, t_subject, t_teacher; EXIT WHEN t_tutorials%notfound; -- printing in console dbms_output.put_line('Code is: ' || t_code || ' ' || 'Subject is: ' || t_subject || ' Teacher is: ' || t_teacher); END LOOP; CLOSE t_tutorials; END; /
Η έξοδος του παραπάνω κώδικα πρέπει να είναι:
Δρομέας για βρόχο
Ενώ δουλεύουμε με ρητούς δρομείς, μπορούμε να χρησιμοποιήσουμε το βρόχο FOR αντί να χρησιμοποιήσουμε δηλώσεις όπως FETCH, OPEN και CLOSE. Το Cursor FOR Loop έχει το ευρετήριο βρόχου ως εγγραφή που δείχνει τη σειρά που λαμβάνεται από τη βάση δεδομένων. Στη συνέχεια, μετά το άνοιγμα του δρομέα, παίρνει τις πολλαπλές σειρές δεδομένων επανειλημμένα από το αποτέλεσμα που έχει οριστεί στα πεδία εγγραφής.
Τέλος, ο δρομέας κλείνει αφού ληφθούν όλες οι σειρές. Χρησιμοποιούμε ένα σημείο (.) Για να αναφερθούμε σε κάθε πεδίο στην εγγραφή. Το σύμβολο τελείας χρησιμοποιείται στην πραγματικότητα για την επιλογή ενός στοιχείου.
Η σύνταξη για Cursor For loop:
DECLARE CURSOR c IS SELECT code, subject, price FROM Tutorial; ... BEGIN FOR Tutorial_rec IN c LOOP ... price_sum:= price_sum + Tutorial_rec.price; END LOOP;
Εδώ, ο βρόχος Cursor FOR δηλώνει « Εκμάθηση_rec » ως ρεκόρ.
Δείκτης μεταβλητών
Μια μεταβλητή δρομέα χρησιμοποιείται για να αναφέρεται στην παρούσα σειρά στο σύνολο αποτελεσμάτων που έχει περισσότερες από μία σειρές. Μπορεί να χρησιμοποιηθεί για οποιονδήποτε τύπο ερωτήματος. Είναι παρόμοιο με μια μεταβλητή PL / SQL, όπου μπορούμε να αντιστοιχίσουμε τιμές και να περάσουμε μέσω ενός υποπρογράμματος στη βάση δεδομένων. Έτσι, οι μεταβλητές του δρομέα παρέχουν μεγάλη ευελιξία και μπορούν να ληφθούν δεδομένα σε μια κεντρική διαδικασία.
Χορδές PL SQL
Οι συμβολοσειρές στο PL / SQL είναι μια ομάδα χαρακτήρων σε μια συγκεκριμένη σειρά. Το μέγεθος της συμβολοσειράς μπορεί να είναι ή να μην είναι διαθέσιμο. Οι χαρακτήρες που μπορούν να είναι μέρος μιας συμβολοσειράς μπορεί να είναι ένας ειδικός χαρακτήρας, κενά, αριθμοί και αλφαριθμητικοί. Έτσι είναι ένα σύνολο επιλεγμένων συμβόλων από μια ομάδα χαρακτήρων.
Υπάρχουν τρεις κατηγορίες συμβολοσειρών στο PL / SQL. Παρατίθενται παρακάτω:
- Συμβολοσειρά μεταβλητού μήκους: Το μήκος της συμβολοσειράς δεν μπορεί να ξεπερνά τα 32.767 και δεν μπορεί να υπάρχει επένδυση στη συμβολοσειρά.
- Διορθώθηκε η συμβολοσειρά μήκους : Το μήκος της συμβολοσειράς αναφέρεται στη δήλωση συμβολοσειράς. Η συμβολοσειρά είναι σωστά γεμισμένη με κενά για να χωρέσει το καθορισμένο μήκος της συμβολοσειράς.
- Μεγάλα αντικείμενα χαρακτήρα (CLOB): Αυτή είναι μια συμβολοσειρά μεταβλητού μήκους που έχει μέγεθος έως 128 TB.
Οι συμβολοσειρές στο PL / SQL μπορούν να είναι είτε κυριολεκτικά είτε μεταβλητές. Τα σύμβολα εισαγωγικών χρησιμοποιούνται για τα γράμματα.
Σύνταξη:
'This is Software Testing Help'
Επίσης, έχουμε την επιλογή να προσθέσουμε ένα απόσπασμα στην κυριολεκτική συμβολοσειρά μας. Αυτό επιτυγχάνεται διατηρώντας δύο διαδοχικά μεμονωμένα εισαγωγικά.
Σύνταξη:
'We can''t go there'
Μπορούμε να περιγράψουμε καθορισμένους από τον χρήστη οριοθέτες για την συμβολοσειρά κυριολεκτικά προθέτοντάς το με ένα γράμμα «q».
Σύνταξη:
q'(We can't go there)'
Δήλωση μεταβλητών συμβολοσειράς
Υπάρχουν πολλοί τύποι δεδομένων σε PL / SQL όπως NCHAR, CHAR, VARCHAR, VARCHAR2, CLOB και NCLOB. Οι τύποι δεδομένων εθνικού συνόλου χαρακτήρων προτίθενται με το N. Χρησιμοποιούνται για την αποθήκευση χαρακτήρων Unicode.
Σε μια συμβολοσειρά μεταβλητού μήκους, πρέπει να αναφέρεται το μέγιστο όριο του μήκους της συμβολοσειράς.
Σύνταξη:
DECLARE subject varchar(10);
Αυτό σημαίνει ότι το μεταβλητό θέμα μπορεί να χωρέσει έως και 10 χαρακτήρες και όχι περισσότερο από αυτό. Σε περίπτωση που το μέγιστο μήκος παραλείπεται, εμφανίζεται σφάλμα σφάλματος.
Σε μια συμβολοσειρά σταθερού μήκους, μπορεί να χρησιμοποιηθεί ο τύπος δεδομένων CHAR. Δεν είναι απαραίτητο να καθοριστεί το μέγιστο μήκος μιας συμβολοσειράς σταθερού μήκους. Εάν το όριο παραλειφθεί, η Oracle παίρνει την προεπιλεγμένη τιμή 1.
Σύνταξη:
DECLARE subject char := 'P';
Εάν δηλώσετε μια μεταβλητή CHAR με μήκος που υπερβαίνει το 1, το Oracle από προεπιλογή συμπληρώνει την τιμή που έχουμε αποθηκεύσει σε αυτήν τη μεταβλητή με κενά. Αυτό γίνεται μέχρι να επιτευχθεί το καθορισμένο μέγιστο μήκος.
Για να κάνετε δήλωση για ένα μεγάλο αντικείμενο χαρακτήρα, χρησιμοποιείται το CLOB. Το μέγιστο μήκος δεν χρειάζεται να αναφέρεται εδώ και το μήκος καθορίζεται από την ίδια τη βάση δεδομένων της Oracle και εξαρτάται από το μέγεθος του μπλοκ βάσης δεδομένων.
Σύνταξη:
DECLARE l CLOB;
Οδηγίες για την επιλογή τύπων δεδομένων σε PL / SQL:
- Εάν ασχολούμαστε με τιμές που έχουν πάντα σταθερό μήκος, για παράδειγμα, τον αριθμό του κινητού τηλεφώνου που έχει σταθερό μήκος και μορφή, πρέπει να χρησιμοποιήσουμε τον τύπο δεδομένων CHAR ή NCHAR.
- Διαφορετικά, θα πρέπει να χρησιμοποιήσουμε τον τύπο δεδομένων VARCHAR2 ή NVARCHAR2.
- Εάν πρόκειται για μια συμβολοσειρά που έχει περισσότερους από 32.767 χαρακτήρες, θα πρέπει να χρησιμοποιήσουμε τον τύπο δεδομένων CLOB ή NCLOB.
Εφαρμογή κώδικα με συμβολοσειρές:
DECLARE subject varchar2(30); teacher varchar2(40); syllabus clob; options char(1); BEGIN -- Initializing values to variables subject := 'Selenium'; teacher := 'Arun'; syllabus := 'Java, WebDriver Methods, Synchronization, WebTables.'; options := 'S'; -- checking condition and if true IF options = 'S' THEN -- printing in console dbms_output.put_line(subject); dbms_output.put_line(teacher); dbms_output.put_line(syllabus); END IF; END; /
Η έξοδος του παραπάνω κώδικα πρέπει να είναι:
Λειτουργίες και χειριστές PL / SQL στο String
Sl Όχι. | Ονομα | Σκοποί |
---|---|---|
1 | CONCAT (i, j) | Προσθέτει τις συμβολοσειρές i και j και επιστρέφει τη νέα συμβολοσειρά. |
δύο | ASCII (ν) | Επιστρέφει την ισοδύναμη τιμή ASCII του n. |
3 | CHR (ν) | Επιστρέφει τον χαρακτήρα μαζί με την ισοδύναμη τιμή ASCII του n. |
4 | INSTR (i, x, έναρξη, n) | Βρίσκει το substring i σε x string και μετά επιστρέφει τη θέση εμφάνισης. Η αρχή αναφέρεται στην αρχική θέση της αναζήτησης και είναι μια προαιρετική παράμετρος. Το n είναι η ένατη εμφάνιση της συμβολοσειράς και είναι επίσης μια προαιρετική παράμετρος. |
5 | INSTRB (i) | Επιστρέφει τη θέση ενός substring σε μια συμβολοσειρά σε byte. |
6 | INITCAP (k) | Μετατρέπει τον αρχικό χαρακτήρα μεμονωμένων λέξεων στη συμβολοσειρά k στην κεφαλαία και στη συνέχεια επιστρέφει τη συμβολοσειρά. |
8 | ΜΗΚΟΣ (n) | Επιστρέφει την καταμέτρηση των χαρακτήρων σε συμβολοσειρά m σε byte για σύνολο χαρακτήρων ενός byte. |
9 | LTRIM (n, x) | Αφαιρεί x χαρακτήρες από αριστερά της συμβολοσειράς n. Το x είναι μια προαιρετική παράμετρος εάν δεν παρέχεται, αφαιρεί όλα τα κενά διαστήματα της συμβολοσειράς n. |
10 | RTRIM (n, x) | Αφαιρεί x χαρακτήρες από δεξιά της συμβολοσειράς n. Το x είναι μια προαιρετική παράμετρος εάν δεν παρέχεται, αφαιρεί όλους τους τελικούς χώρους της συμβολοσειράς n. |
έντεκα | TRIM ((trim_char FROM) x); | Αφαιρεί κενά ή αναφερόμενους χαρακτήρες από την αρχή, το τέλος ή και τα δύο άκρα της συμβολοσειράς x. |
12 | ΧΑΜΗΛΗ (i) | Μετατρέπει τους χαρακτήρες της συμβολοσειράς i σε πεζά και στη συνέχεια επιστρέφει τη συμβολοσειρά. |
13 | ΑΝΩ (i) | Μετατρέπει τους χαρακτήρες της συμβολοσειράς i σε κεφαλαία και στη συνέχεια επιστρέφει τη συμβολοσειρά. |
14 | LPAD (i, l, x) | Πληρώνει τη συμβολοσειρά x προς τα αριστερά για να κάνει τη συμβολοσειρά μήκους έως l. Η παράμετρος x είναι προαιρετική, εάν παραλείπονται κενά τοποθετημένα στα αριστερά της συμβολοσειράς i. |
δεκαπέντε | RPAD (i, l, x) | Πληρώνει τη συμβολοσειρά x προς τα δεξιά για να κάνει τη συμβολοσειρά μήκους έως l. Η παράμετρος x είναι προαιρετική, εάν παραλείπονται κενά τοποθετημένα στα δεξιά της συμβολοσειράς i. |
16 | NANVL (n, val) | Επιστρέφει val αν το n είναι ίσο με την τιμή NaN, αλλιώς το n επιστρέφεται. |
17 | NLSSORT (i) | Τροποποιεί τη μέθοδο ταξινόμησης των χαρακτήρων. Θα πρέπει να αναφέρεται πριν από οποιαδήποτε συνάρτηση NLS, αλλιώς θα γίνει η προεπιλεγμένη ταξινόμηση. |
18 | NLS_INITCAP (i) | Παρόμοια λειτουργικότητα με τη συνάρτηση INITCAP, αλλά μπορεί να πάρει διαφορετικό είδος τεχνικής όπως αναφέρεται στη συνάρτηση NLSSORT. |
19 | NLS_LOWER (λ.) | Παρόμοια στη λειτουργικότητα με τη συνάρτηση LOWER αλλά μπορεί να πάρει διαφορετικό είδος τεχνικής όπως αναφέρεται στη συνάρτηση NLSSORT. |
είκοσι | NLS_UPPER (m) | Παρόμοια στη λειτουργικότητα με τη συνάρτηση UPPER, αλλά μπορεί να πάρει διαφορετικό είδος τεχνικής όπως αναφέρεται στη συνάρτηση IN NLSSORT. |
είκοσι ένα | NVL (n, val) | Επιστρέφει val αν το x είναι ίσο με την τιμή NULL, αλλιώς το n επιστρέφεται. |
22 | NVL2 (n, val, val2) | Επιστρέφει val εάν το x δεν είναι ίσο με την τιμή NULL, αλλιώς εάν το x είναι ίσο με NULL, επιστρέφεται το val2. |
2. 3 | SOUNDEX (i) | Επιστρέφει μια συμβολοσειρά που έχει τη φωνητική αναπαράσταση του i. |
24 | SUBSTR (n, έναρξη, l) | Επιστρέφει ένα υπόστρωμα της συμβολοσειράς n που ξεκινά από τη θέση που αναφέρεται στην αρχή. Η παράμετρος l είναι προαιρετική και αντιπροσωπεύει το μήκος του υποστρώματος. |
25 | ΥΠΟΣΤΗΡΙΞΗ (n) | Παρόμοια στη λειτουργικότητα με τη συνάρτηση SUBSTR αλλά οι παράμετροι είναι σε byte και όχι σε χαρακτήρες για ένα σύστημα χαρακτήρων ενός byte. |
26 | ΑΝΤΙΚΑΤΑΣΤΑΣΗ (n, s, r) | Αντικαθιστά τις εμφανίσεις του s με τη συμβολοσειρά r με τη συμβολοσειρά n. |
Εφαρμογή κώδικα με ορισμένες συναρτήσεις συμβολοσειράς:
DECLARE name varchar2(30) := ' software testing help!'; BEGIN dbms_output.put_line(UPPER(name)); dbms_output.put_line(LOWER(name)); dbms_output.put_line(LENGTH(name)); dbms_output.put_line(INITCAP(name)); /* get the first word in the string */ dbms_output.put_line ( SUBSTR (name, 1, 8)); /* get the location of the first 'w' */ dbms_output.put_line ( INSTR (name, 'w')); /* replace a string */ dbms_output.put_line ( REPLACE( name, 'help', 'solution')); /* trim a string from right */ dbms_output.put_line ( RTRIM(name,'!')); /* trim a string */ dbms_output.put_line ( TRIM(name)); END; /
Η έξοδος του παραπάνω κώδικα πρέπει να είναι:
δωρεάν λογισμικό αντιγραφής DVD dvd 10
Επεξήγηση του παραπάνω κώδικα:
- Η πρώτη έξοδος είναι ΒΟΗΘΕΙΑ ΔΟΚΙΜΗΣ ΛΟΓΙΣΜΙΚΟΥ !. Επιστρέφει τη συμβολοσειρά εισόδου «Βοήθεια δοκιμής λογισμικού!» στην άνω περίπτωση με τη βοήθεια του Συνάρτηση UPPER.
- Η δεύτερη έξοδος είναι βοήθεια δοκιμών λογισμικού !. Επιστρέφει τη συμβολοσειρά εισόδου ΒΟΗΘΕΙΑ ΔΟΚΙΜΗΣ ΛΟΓΙΣΜΙΚΟΥ! με πεζά με τη βοήθεια του η συνάρτηση LOWER.
- Η τρίτη έξοδος 2. 3 . Επιστρέφει το μήκος της συμβολοσειράς εισόδου με τη βοήθεια του Συνάρτηση LENGTH.
- Η τέταρτη έξοδος είναι Βοήθεια δοκιμής λογισμικού !. Επιστρέφει τον πρώτο χαρακτήρα κάθε λέξης της συμβολοσειράς εισαγωγής με κεφαλαία γράμματα με τη βοήθεια του Συνάρτηση INITCAP .
- Η πέμπτη έξοδος είναι softwar. Επιστρέφει ένα υπόστρωμα της συμβολοσειράς εισόδου από την πρώτη θέση σε μήκος 8 συμπεριλαμβανομένου ενός διαστήματος με τη βοήθεια του Συνάρτηση SUBSTR .
- Η έκτη έξοδος είναι 6. Επιστρέφει τη θέση του σε στη συμβολοσειρά εισόδου με τη βοήθεια του Συνάρτηση INSTR .
- Η έβδομη έξοδος είναι λύση δοκιμής λογισμικού !. Επιστρέφει μια νέα συμβολοσειρά αντικαθιστώντας βοήθεια με λύση στη συμβολοσειρά εισόδου με τη βοήθεια του REPLACE λειτουργία .
- Η όγδοη έξοδος είναι βοήθεια δοκιμών λογισμικού. Επιστρέφει μια νέα συμβολοσειρά περικόπτοντας το χαρακτήρα ! από τα δεξιά της συμβολοσειράς εισόδου με τη βοήθεια του Συνάρτηση RTRIM .
- Η ένατη έξοδος είναι βοήθεια δοκιμών λογισμικού !. Επιστρέφει μια νέα συμβολοσειρά περικόπτοντας τους κορυφαίους και τελικούς χώρους από τη συμβολοσειρά εισόδου με τη βοήθεια του Λειτουργία TRIM .
Συχνές Ερωτήσεις και Απαντήσεις
Q # 1) Τι είναι ο δρομέας στο PL / SQL;
Απάντηση: Μετά την εκτέλεση μιας δήλωσης SQL, η βάση δεδομένων Oracle δημιουργεί μια μνήμη που ονομάζεται περιοχή περιβάλλοντος. Ένας δρομέας επεξεργάζεται τις πληροφορίες από μια επιλεγμένη δήλωση και περιέχει τις σειρές που ενημερώνονται από αυτήν τη λειτουργία SELECT.
Q # 2) Τι είναι ο δρομέας και ο τύπος του δρομέα;
Απάντηση: Μετά την εκτέλεση μιας δήλωσης SQL, η βάση δεδομένων Oracle δημιουργεί μια μνήμη που ονομάζεται περιοχή περιβάλλοντος που είναι μια προσωρινή περιοχή εργασίας. Υπάρχουν δύο κατηγορίες δρομέων - έμμεσος δρομέας και ρητός δρομέας.
Q # 3) Πώς μπορώ να τρέξω ένα δρομέα στο Oracle;
Απάντηση: Για να εκτελέσετε έναν κέρσορα στο Oracle, η σύνταξη είναι: ΑΝΟΙΞΕ<> . Το CURSORNAME αναφέρεται στο όνομα του δρομέα που είναι διαθέσιμο στην ενότητα δήλωσης του μπλοκ κώδικα PL / SQL.
Q # 4) Μπορούμε να δηλώσουμε ότι ο δρομέας είναι αρχής;
Απάντηση: Ναι, μπορούμε να δηλώσουμε περισσότερους από έναν δρομείς εντός ενός μπλοκ κώδικα PL / SQL.
Ε # 5) Πώς βρίσκετε το μήκος μιας συμβολοσειράς σε PL / SQL;
Απάντηση: Μπορούμε να βρούμε το μήκος μιας συμβολοσειράς σε PL / SQL με τη βοήθεια της συνάρτησης LENGTH (str). Εδώ είναι η συμβολοσειρά για την οποία θέλουμε να πάρουμε το μήκος. Αυτή η συνάρτηση επιστρέφει μια αριθμητική τιμή.
Q # 6) Τι είναι το SUBSTR στο Oracle;
Απάντηση: Η συνάρτηση SUBSTR δίνει έναν συγκεκριμένο αριθμό χαρακτήρων από μια συγκεκριμένη θέση μιας συμβολοσειράς. Η σύνταξη είναι SUBSTR (n, start, l). Επιστρέφει ένα υπόστρωμα από τη συμβολοσειρά n που ξεκινά από τη θέση που αναφέρεται στην αρχή. Η παράμετρος l είναι προαιρετική και αντιπροσωπεύει το μήκος του υποστρώματος.
συμπέρασμα
Σε αυτό το σεμινάριο, έχουμε συζητήσει λεπτομερώς μερικές από τις βασικές έννοιες του PL / SQL.
Έχουμε καλύψει τα ακόλουθα θέματα που αναφέρονται παρακάτω:
- PL SQL Cursor: Implicit Cursor και Explicit Cursor
- Χορδές PL / SQL.
- Λειτουργίες και χειριστές στο String.
<< PREV Tutorial | ΕΠΟΜΕΝΟ Φροντιστήριο >>
Συνιστώμενη ανάγνωση
- Εκμάθηση PL SQL για αρχάριους με παραδείγματα | Τι είναι το PL / SQL
- Εκμάθηση μήκους σειράς Java με παραδείγματα κώδικα
- C # Εκπαιδευτικός χειρισμός εξαίρεσης με παραδείγματα κώδικα
- Java 'αυτό' Λέξη-κλειδί: Εκμάθηση με παραδείγματα κώδικα
- Εκμάθηση Python DateTime με παραδείγματα
- Χρήση δρομέα στο MongoDB με παραδείγματα
- C # Λειτουργίες / Μέθοδοι Εκμάθηση με παραδείγματα κώδικα
- MySQL Δημιουργία εκπαιδευτικού προγράμματος με παραδείγματα κώδικα