Λειτουργία PostgreSQL για επιστροφή πίνακα

Leitourgia Postgresql Gia Epistrophe Pinaka



Μερικές φορές, μπορεί να θέλετε να δημιουργήσετε μια συνάρτηση που επιστρέφει έναν πίνακα στη βάση δεδομένων PostgreSQL για να ενσωματώσει το σύνολο αποτελεσμάτων. Είναι δυνατή η δημιουργία μιας συνάρτησης 'pgSQL' που σας επιτρέπει να ανακτήσετε τις εγγραφές και να χρησιμοποιήσετε ένα ερώτημα επιστροφής που εμφανίζει το σύνολο αποτελεσμάτων ως πίνακα. Αυτή η ανάρτηση σας καθοδηγεί στη δημιουργία μιας συνάρτησης PostgreSQL που επιστρέφει έναν πίνακα.

Πώς να δημιουργήσετε μια συνάρτηση PostgreSQL για να επιστρέψετε έναν πίνακα

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

Η παρακάτω είναι η σύνταξη για τη δημιουργία μιας συνάρτησης PostgreSQL που επιστρέφει έναν πίνακα:







ΔΗΜΙΟΥΡΓΙΑ Ή ΑΝΤΙΚΑΤΑΣΤΑΣΗ ΣΥΝΑΡΤΗΣΗΣ όνομα_συνάρτησης(παράμετρος_λίστα)

ΠΙΝΑΚΑΣ ΕΠΙΣΤΡΟΦΩΝ (στήλη_λίστα)

ΩΣ $$

BEGIN RETURN QUERY(query);

ΤΕΛΟΣ;

$$ ΓΛΩΣΣΑ plpgsql

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



Παράδειγμα 1: Εργασία με μία μόνο είσοδο

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



Ακολουθεί ο πίνακας 'μαθητής' που θα χρησιμοποιήσουμε για το ερώτημά μας:





Στην παρακάτω εικόνα, δημιουργούμε μια συνάρτηση με το όνομα 'get_student' που παίρνει ένα INT ως όρισμα. Στην ενότητα ΠΙΝΑΚΑ ΕΠΙΣΤΡΟΦΩΝ, επιστρέφουμε έναν πίνακα με τέσσερις στήλες: το 'student_id', 'student_name', 'student_faculty' και 'current_status'.



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

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

\df *get_student();

Προσθέτουμε τους αστερίσκους για να ταιριάζουν με οποιαδήποτε συνάρτηση έχει το καθορισμένο όνομα. Η έξοδος δείχνει ότι έχουμε τη συνάρτηση PostgreSQL στη βάση δεδομένων μας.

Το τελευταίο βήμα είναι να δοκιμάσετε τη συνάρτηση που δημιουργήθηκε. Εκτελέστε τη δήλωση 'επιλογή' για να καλέσετε τη συνάρτηση. Στη συνέχεια, προσθέστε το αναμενόμενο όρισμα. Για την περίπτωσή μας, η παράμετρος είναι τύπου INT. Έτσι, προσθέτουμε το 1 ως όρισμα για να ανακτήσουμε τις εγγραφές που ταιριάζουν με αυτό και να επιστρέψουμε έναν πίνακα όπως φαίνεται στα ακόλουθα:

Παράδειγμα 2: Εργασία με μοτίβο εισαγωγής

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

Χρησιμοποιούμε τον παρακάτω πίνακα για αυτήν την περίπτωση και στοχεύουμε τη στήλη ονόματος:

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

Μόλις η συνάρτηση είναι έτοιμη, μπορούμε να την καλέσουμε για να επιστρέψει ο πίνακας. Υπάρχουν διάφοροι τρόποι για να το κάνετε. Για παράδειγμα, εάν το μοτίβο αναζήτησης περιέχει 'Jo' στη συμβολοσειρά, εκτελούμε το ερώτημα εντολής ως εξής:

Επιλέξτε * από το get_details('%Jo%');

Αντιστοιχίζουμε όλες τις τιμές με το 'Jo' στη συμβολοσειρά τους, δίνοντάς μας δύο δίσκους.

Εάν γνωρίζουμε μόνο το τελευταίο μέρος μιας συμβολοσειράς, στρίβουμε το ερώτημα και το εκτελούμε ως εξής:

Επιλέξτε * από το get_details('%Tyson');

Τέλος, αν γνωρίζουμε το πρώτο μέρος της συμβολοσειράς, προσθέτουμε το σύμβολο '&' μετά το μοτίβο όπως φαίνεται παρακάτω:

Επιλέξτε * από το get_details('Tim%');

Αυτά είναι τα διαφορετικά παραδείγματα σχετικά με τον τρόπο χρήσης της συνάρτησης PostgreSQL για την επιστροφή ενός πίνακα.

συμπέρασμα

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