Σπίτι Προσωπικά Οικονομικά Πώς να χειριστείτε τις συνθήκες SQL - ανδρείκελα

Πώς να χειριστείτε τις συνθήκες SQL - ανδρείκελα

Πίνακας περιεχομένων:

Βίντεο: Week 9 2024

Βίντεο: Week 9 2024
Anonim

Μπορείτε να δείτε το πρόγραμμά σας στο SQLSTATE μετά την εκτέλεση κάθε εντολής SQL. Υπάρχουν αρκετές δυνατότητες για όσα μπορεί να θέλετε να κάνετε στη συνέχεια. Τι κάνεις με τη γνώση που κερδίζεις;

  • Αν βρείτε κωδικό κατηγορίας 00 , πιθανότατα δεν θέλετε να κάνετε τίποτα. Θέλετε να εκτελεστεί η εκτέλεση όπως σχεδιάσατε αρχικά.

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

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

    Μπορεί να διορθώσετε κάποια λάθη ή να βρείτε λύσεις. Άλλα σφάλματα μπορεί να είναι θανατηφόρα. κανείς δεν θα πεθάνει, αλλά μπορεί να καταλήξετε να τερματίσετε την εφαρμογή.

Δηλώσεις χειριστή

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

Κατάσταση Περιγραφή SQLSTATE VALUE

'xxyyy' Ειδική τιμή SQLSTATE SQLEXCEPTION > SQLWARNING SQLSTATE κλάση 01 NOT FOUND SQLSTATE κλάση 02 Ακολουθεί ένα παράδειγμα δήλωσης κατάστασης:

BEGIN DECLARE constraint_violation ΣΥΝΘΕΣΗ ΓΙΑ SQLSTATE VALUE '23000'; ΤΕΛΟΣ;

Αυτό το παράδειγμα δεν είναι ρεαλιστικό, γιατί τυπικά η εντολή SQL που μπορεί να προκαλέσει την εμφάνιση της κατάστασης - καθώς και ο χειριστής που θα μπορούσε να χρησιμοποιηθεί σε περίπτωση εμφάνισης της κατάστασης - θα περικλείεται επίσης στη δομή BEGIN … END.

Ενέργειες χειριστή και εφέ χειριστή

Εάν συμβαίνει μια συνθήκη που καλεί χειριστή, εκτελείται η ενέργεια που καθορίζεται από το χειριστή. Αυτή η ενέργεια είναι μια δήλωση SQL, η οποία μπορεί να είναι μια σύνθετη δήλωση. Αν η ενέργεια χειριστή ολοκληρωθεί με επιτυχία, τότε εκτελείται το εφέ χειρισμού.Ακολουθεί μια λίστα με τα τρία πιθανά αποτελέσματα χειριστή:

ΣΥΝΕΧΕΙΑ: Συνεχίστε την εκτέλεση αμέσως μετά τη δήλωση που προκάλεσε την κλήση του χειριστή.

  • EXIT: Συνεχίστε την εκτέλεση μετά την σύνθετη εντολή που περιέχει τον χειριστή.
  • UNDO: Αναίρεση της εργασίας των προηγούμενων δηλώσεων στη σύνθετη δήλωση και, στη συνέχεια, συνέχιση της εκτέλεσης μετά από τη δήλωση που περιέχει το χειριστή.

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

Εξετάστε το ακόλουθο παράδειγμα:

BEGIN ATOMIC DECLARE constraint_violation ΣΥΝΘΕΣΗ ΓΙΑ SQLSTATE VALUE '23000'; ΔΗΛΩΣΗ ΧΕΙΡΙΣΤΗ UNDO ΓΙΑ παραβίαση constraint_ RESIGNAL; ΕΙΣΑΓΩΓΗ ΣΕ ΦΟΙΤΗΤΕΣ (StudentID, Fname, Lname) VALUES (: sid,: sfname,: slname); ΕΙΣΑΓΩΓΗ ΣΕ ΡΟΛΟ (ΤΑΞΗ, ΤΑΞΗ, Φοιτητική ID) ΤΙΜΕΣ (: cid,: cname,: sid); ΤΕΛΟΣ;

Αν οποιαδήποτε από τις εντολές INSERT προκαλεί παραβίαση περιορισμών, όπως η προσπάθεια προσθήκης μιας εγγραφής με ένα πρωτεύον κλειδί που διπλασιάζει ένα πρωτεύον κλειδί που υπάρχει ήδη στον πίνακα, το SQLSTATE παίρνει μια τιμή "23000", ορίζοντας έτσι την κατάσταση constraint_violation μια πραγματική τιμή.

Αυτή η ενέργεια αναγκάζει τον χειριστή να UNDO τυχόν αλλαγές που έγιναν σε οποιονδήποτε πίνακα με εντολή INSERT. Η εντολή RESIGNAL μεταφέρει τον έλεγχο πίσω στη διαδικασία που κάλεσε την τρέχουσα διαδικασία εκτέλεσης.

Αν και οι δύο εντολές INSERT εκτελούνται με επιτυχία, η εκτέλεση συνεχίζεται με τη δήλωση που ακολουθεί τη λέξη-κλειδί END.

Η λέξη-κλειδί ATOMIC είναι υποχρεωτική όποτε το αποτέλεσμα του χειριστή είναι UNDO. Αυτό δεν συμβαίνει για τους χειριστές των οποίων το αποτέλεσμα είναι είτε CONTINUE είτε EXIT.

Πώς να χειριστείτε τις συνθήκες SQL - ανδρείκελα

Η επιλογή των συντακτών

GoPro Κάμερες Για Ανδρείκελα Εξέλιξη Φίλτρων

GoPro Κάμερες Για Ανδρείκελα Εξέλιξη Φίλτρων

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

Mounts για την κάμερα GoPro - dummies

Mounts για την κάμερα GoPro - dummies

Το GoPro έχει πολλά στηρίγματα και ένα για κάθε περίσταση και κατάσταση. Υπάρχουν mounts για το σκι σας, το roll bar του οχήματος all-terrain και την κορυφή του ποδηλάτου σας. Υπάρχει ακόμη και ένα που το σκυλί σας μπορεί να φορέσει ως σαγματοποιία. Εδώ είναι μερικά από τα βασικά κομμάτια (δείτε το σχήμα): ...

Οι GoPro HERO5 Μαύρες Dummies

Οι GoPro HERO5 Μαύρες Dummies

Μία φορά, ήταν μια σειρά από ονόματα που διαφοροποιούσαν το GoPro HERO, συμπεριλαμβανομένων των εκδόσεων Silver και White. Και ενώ πολλά από αυτά τα μοντέλα είναι ακόμα βιώσιμες επιλογές, η τελευταία έκδοση είναι μόνο για το Black. Είναι το μεγάλο kahuna της σειράς HERO και έχει ανανεωθεί τόσο πολύ ...

Η επιλογή των συντακτών

Πώς να ρυθμίσετε μια νέα ή υπάρχουσα τοποθεσία στο Dreamweaver - ανδρείκελα

Πώς να ρυθμίσετε μια νέα ή υπάρχουσα τοποθεσία στο Dreamweaver - ανδρείκελα

Site στο Dreamweaver, πρέπει να αποθηκεύσετε όλους τους πόρους του ιστότοπού σας σε έναν κύριο φάκελο ή κατάλογο στον σκληρό σας δίσκο. Το Dreamweaver ονομάζει αυτόν τον φάκελο τον φάκελο του τοπικού ιστότοπου και όταν ορίσετε έναν νέο ιστότοπο, απλά προσδιορίζετε ακριβώς αυτό το φάκελο στο Dreamweaver. Η διαδικασία εγκατάστασης ιστότοπου είναι ...

Πώς να αλλάξετε τη λειτουργία CSS και HTML στον περιηγητή ιδιότητας Dreamweaver - dummies

Πώς να αλλάξετε τη λειτουργία CSS και HTML στον περιηγητή ιδιότητας Dreamweaver - dummies

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

Πώς να ρυθμίσετε τις λειτουργίες FTP του Dreamweaver - dummies

Πώς να ρυθμίσετε τις λειτουργίες FTP του Dreamweaver - dummies

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

Η επιλογή των συντακτών

Πώς να Paint με το εργαλείο πινέλου στο Photoshop Elements 9

Πώς να Paint με το εργαλείο πινέλου στο Photoshop Elements 9

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

Πώς να τοποθετήσετε μια εικόνα στο Photoshop Elements 10 Παράθυρο εικόνας - ανδρείκελα

Πώς να τοποθετήσετε μια εικόνα στο Photoshop Elements 10 Παράθυρο εικόνας - ανδρείκελα

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