Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
ORACLE PL/SQL Cursors Μέρος 1
2
ΟΡΙΣΜΟΣ Είναι ένας μηχανισμός με τον οποίο ονομάζουμε μια εντολή SELECT και διαχειριζόμαστε ξεχωριστά (ανά εγγραφή) τις πληροφορίες που η εντολή επιλέγει.
3
Σύνταξη Ρητών Cursors Σκοπός
Να χρησιμοποιούμε μεταβλητές PL/SQL τύπου Record Να γράφουμε βρόχους με Cursors
4
Για τους Cursors Κάθε εντολή SQL που εκτελείται απο τον Oracle Server έχει ενα ξεχωριστό Cursor συνδυασμένο με αυτήν. Έτσι έχουμε: άρρητους (implicit) Cursors που δηλώνονται απο το σύστημα για κάθε DML & SELECT και ρητούς (explicit) Cursors που δηλώνονται απο τον προγραμματιστή.
5
Λειτουργία των ρητών Cursors
6
Έλεγχος των ρητών Cursors
7
Δήλωση του ρητού Cursor
CURSOR cursor_name IS select_statement; Χωρίς ΙΝΤΟ Δεκτό το ORDER BY
8
Παράδειγμα Δήλωσης Cursor
DECLARE CURSOR emp_cursor IS SELECT empno, ename FROM emp; BEGIN …………..
9
Άνοιγμα Cursor Σύνταξη: ΟΡΕΝ Cursor_name
Απαραίτητο για να εκτελεσθεί το ερώτημα και να ανεβρεθεί το ενεργό σύνολο εγγραφών. Αν δεν ανεβρεθούν γραμμές δεν δημιουργείται συνθήκη εξαίρεσης Ο έλεγχος γίνεται μετά το FETCH.
10
Ανάκτηση Δεδομένων απο τον Cursor
Σύνταξη: FETCH Cursor_name INTO [variable1,variable2, …| record_name] ;. Οι στήλες και οι μεταβλητές πρέπει να συμπίπτουν ως προς την σειρά και τον τύπο. Δεν δημιουργείται κατάσταση λάθους αν τελειώσουν οι γραμμές.
11
Ανάκτηση Δεδομένων απο τον Cursor -Παραδείγματα
PL/SQL Developer Templates
12
Κλείσιμο του Cursor Σύνταξη: CLOSE Cursor_name
Κλείσιμο μετά την επεξεργασία όλων των γραμμών Μετά το close δεν εκτελείται κανένα fetch Μπορούμε να ανοίξουμε ξανά τον Cursor
13
CURSOR STATUS %ISOPEN %NOTFOUND %FOUND %ROWCOUNT
14
Έλεγχος επαναλαμβανόμενων Ανακτήσεων
Χρήση Βρόχου (Άρρητα OPEN και CLOSE) Fetch σε κάθε επανάληψη %NOTFOUND για έλεγχο Έλεγχος του STATUS.
15
Βρόχοι CURSOR με Υποερωτήματα
Δεν Δηλώνονται OPEN & CLOSE.
16
Παράδειγμα BEGIN FOR emp_record IN (SELECT ename, deptno FROM emp)
LOOP -- implicit OPEN …….. END LOOP; -- implicit CLOSE END;
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.