Oracle Limit Rows

Oracle Limit Rows



Ο περιορισμός σειρών είναι ένα ισχυρό και κοινό χαρακτηριστικό που εφαρμόζεται από τις περισσότερες μηχανές σχεσιακών βάσεων δεδομένων. Ο περιορισμός σειράς αναφέρεται στον αριθμό των σειρών που μπορεί να επιστρέψει μια πρόταση SQL SELECT.

Στις περισσότερες περιπτώσεις, ο μέγιστος αριθμός ορίων ορίζεται από τη μηχανή βάσης δεδομένων. Ωστόσο, μπορούμε να παρακάμψουμε αυτήν την τιμή στο ερώτημά μας χρησιμοποιώντας διάφορες τεχνικές. Πριν αλλάξετε τον αριθμό των σειρών που επιστρέφονται από μια πρόταση SQL SELECT, καλό είναι να λάβετε υπόψη τους διαθέσιμους πόρους στο σύστημά σας.







Το όριο σειρών είναι πολύτιμο χαρακτηριστικό για διάφορους λόγους. Πρώτον, βοηθά στην αποτροπή της επιστροφής υπερβολικού όγκου δεδομένων από τα ερωτήματα, τα οποία μπορούν να εξαντλήσουν τους πολύτιμους πόρους και να προκαλέσουν ορισμένα προβλήματα απόδοσης.



Δεύτερον, μπορεί να βοηθήσει στην αποτροπή των επιθέσεων SQL injection περιορίζοντας την ποσότητα δεδομένων που μπορεί να εξαγάγει ένας εισβολέας από τη βάση δεδομένων.



Αυτή η ανάρτηση θα συζητήσει μια σύντομη μορφή για τον περιορισμό του αριθμού των εγγραφών που επιστρέφονται από ένα δεδομένο ερώτημα Oracle. Θυμηθείτε ότι δεν υπάρχει όρος LIMIT στη βάση δεδομένων Oracle όπως θα βρείτε σε άλλες βάσεις δεδομένων όπως MySQL, PostgreSQL κ.λπ.





Oracle ROWNUM

Για να εφαρμόσουμε μια ρήτρα που μοιάζει με limit, χρησιμοποιούμε τη συνάρτηση rownum στην SQL. Αυτή η συνάρτηση επιστρέφει τον αριθμό των σειρών σε ένα δεδομένο αποτέλεσμα.

Παράδειγμα χρήσης:

Ας υποθέσουμε ότι έχουμε έναν πίνακα που περιέχει τις πληροφορίες της βάσης δεδομένων όπως φαίνεται στην παρακάτω εικόνα:



Πρόβλημα:

Ας υποθέσουμε ότι μας ενδιαφέρουν μόνο οι πέντε πρώτες σειρές από τον πίνακα.

Λύση:

Μπορούμε να χρησιμοποιήσουμε ένα ερώτημα όπως φαίνεται στο παρακάτω απόσπασμα:

επιλέξτε * από βάσεις δεδομένων όπου ROWNUM <= 5;

Στο προηγούμενο ερώτημα, ορίζουμε μια δήλωση υπό όρους που διασφαλίζει ότι ο αριθμός των σειρών που επιστρέφεται είναι μικρότερος ή ίσος με 5. Αυτό αναγκάζει τον αριθμό των εγγραφών από το ερώτημα να σταματήσει στις πέντε.

Ένα παράδειγμα εξόδου είναι το εξής:

συμπέρασμα

Η συνάρτηση Oracle ROWNUM είναι ένα ισχυρό εργαλείο για τον περιορισμό του αριθμού των σειρών που επιστρέφονται σε ένα ερώτημα Oracle SQL. Μπορεί να χρησιμοποιηθεί με διάφορους τρόπους για τον έλεγχο του αριθμού των σειρών που επιστρέφονται από ένα ερώτημα και διασφαλίζει ότι επιστρέφονται μόνο τα πιο σχετικά δεδομένα.