1. Δηλώνοντας μεταβλητές:
- Μεταβλητές που καθορίζονται από το χρήστη: Χρησιμοποιήστε το σύμβολο `@` που ακολουθείται από το όνομα μεταβλητής. Αυτές οι μεταβλητές είναι ειδικές για τη συνεδρία.
`` sql
Ορίστε @my_variable ='κάποια τιμή';
`` `
- Τοπικές μεταβλητές: Δηλώνεται μέσα σε αποθηκευμένες διαδικασίες ή λειτουργίες χρησιμοποιώντας τη λέξη -κλειδί `` Δηλώστε '. Αυτά έχουν περιορισμένο πεδίο εφαρμογής.
`` sql
Δημιουργία διαδικασίας my_procedure ()
ΑΡΧΙΖΩ
Δηλώστε το TOTAL_ORDERS int;
- ... υπόλοιπο της διαδικασίας σας
ΤΕΛΟΣ;
`` `
2. Ανάθεση τιμών σε μεταβλητές:
- Χρήση `set`:
`` sql
Set @user_id =123;
`` `
- από ένα ερώτημα επιλογής:
`` sql
Επιλέξτε Count (*) σε @total_products από προϊόντα.
`` `
- Μέσα σε μια αποθηκευμένη διαδικασία ή λειτουργία:
`` sql
Δηλώστε το product_name varchar (255);
Επιλέξτε Όνομα σε product_name από προϊόντα όπου id =1;
`` `
3. Χρήση μεταβλητών σε ερωτήματα:
- όπου οι ρήτρες:
`` sql
Επιλέξτε * από χρήστες όπου id =@user_id;
`` `
- σε επιλογές λίστας:
`` sql
Επιλέξτε όνομα, @DISCOUNT_PERCENTAGE * Τιμή ως μειωμένο_price από προϊόντα.
`` `
- Στο ένθετο, ενημέρωση και διαγραφή δηλώσεων:
`` sql
Ενημέρωση προϊόντων SET PRICE =@NEW_PRICE όπου id =@product_id;
`` `
Παράδειγμα:
Ας υποθέσουμε ότι θέλετε να βρείτε όλες τις παραγγελίες που τοποθετείται από έναν χρήστη με συγκεκριμένο αναγνωριστικό χρήστη και υπολογίστε τη συνολική τιμή παραγγελίας:
`` sql
- Ορίστε το αναγνωριστικό χρήστη
Set @user_id =1;
- Υπολογίστε τη συνολική τιμή παραγγελίας για τον χρήστη
ΕΠΙΛΕΓΩ
O.ORDER_ID,
Αθροιστικό (oi.quantity * p.price) ως total_order_value
Από παραγγελίες o
Συμμετοχή order_items oi στο o.order_id =oi.order_id
Συμμετάσχετε στα προϊόντα P στο oi.product_id =p.id
Όπου o.user_id =@user_id
Ομάδα από O.Order_id;
`` `
Αυτό το ερώτημα ρυθμίζει πρώτα τη μεταβλητή `@user_id` σε 1.
Βασικά σημεία:
-Οι μεταβλητές που καθορίζονται από το χρήστη είναι ειδικές για τη συνεδρία και οι τιμές τους χάνονται όταν τελειώσει η περίοδος σύνδεσης.
- Οι τοπικές μεταβλητές είναι προσβάσιμες μόνο εντός της αποθηκευμένης διαδικασίας ή λειτουργίας όπου δηλώνονται.
- Αποφύγετε τη χρήση των ίδιων μεταβλητών ονομάτων για καθορισμένες από το χρήστη και τοπικές μεταβλητές για να αποφευχθεί η απροσδόκητη συμπεριφορά.
- Χρησιμοποιήστε μεταβλητές με σύνεση για να βελτιώσετε την αναγνωσιμότητα και την επαναχρησιμοποίηση των ερωτημάτων.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα