λογισμικό

* Γνώση Υπολογιστών >> λογισμικό >> λογισμικού βάσεων δεδομένων

Βοήθημα για αποθηκευμένες διαδικασίες του SQL Servers

Αποθηκευμένες διαδικασίες είναι εκτελέσιμα αντικείμενα βάσης δεδομένων που αποτελείται από πολλαπλές εντολές SQL . Θα βοηθήσει στην απλοποίηση της αλληλεπίδρασης μεταξύ της βάσης δεδομένων και του τελικού χρήστη, ο οποίος δεν έχει αρκετή πείρα για να γράψετε σύνθετα ερωτήματα SQL . Μπορείτε να χρησιμοποιήσετε τις αποθηκευμένες διαδικασίες για την παροχή πρόσβασης , επικύρωση δεδομένων και πολύπλοκων επεξεργασίας που απαιτεί πολλαπλές δηλώσεις SQL . Αποθηκευμένες διαδικασίες μπορεί να δεχθεί παραμέτρους εισόδου , ​​επιστρέφουν τιμές και να εφαρμόσουν looping λογικές , όπως εάν , δηλώσεις , ενώ και η περίπτωση . Τα πράγματα που θα χρειαστείτε για Microsoft SQL Server Query Analyzer
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Δημιουργήστε μια αποθηκευμένη διαδικασία χρησιμοποιώντας την CREATE σύνταξη procedurename ΔΙΑΔΙΚΑΣΙΑ . Εισάγετε τις ακόλουθες δηλώσεις για να δημιουργήσετε μια αποθηκευμένη διαδικασία που ονομάζεται sporderscopy ότι αντιγράφει το περιεχόμενο του πίνακα Orders σε OrdersCopy πίνακα .

ΔΗΜΙΟΥΡΓΙΑ ΔΙΑΔΙΚΑΣΙΑ sporderscopy

AS

SELECT * σε OrdersCopy

ΑΠΟ Παραγγελίες

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

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

ΔΗΜΙΟΥΡΓΙΑ ΔΙΑΔΙΚΑΣΙΑ sporderscount

@ total_order ΕΞΟΔΟΣ χρήματα , πώληση

@ ORDER_DATE smalldatetime = NULL , πώληση

@ customer_var varchar ( 40 ) = '%'

AS

SELECT @ total_order = SUM ( total_order )

ΑΠΟ παραγγελίες JOIN πελάτες

ON orders.orderID = customers.orderID

ΠΟΥ ( ORDER_DATE > = @ date_var )

κΑΙ ( ΌνομαΠελάτη όπως @ customer_var )

Η παραπάνω διαδικασία έχει δύο παραμέτρους εισόδου και επιστρέφει την παράμετρο μία έξοδο . Η παράμετρος εξόδου προσδιορίζεται από τη λέξη-κλειδί OUTPUT .
Εικόνων 3

Εκτέλεση ή να εκτελέσετε μια διαδικασία χρησιμοποιώντας τη σύνταξη EXEC procedurename . Εισάγετε τις ακόλουθες δηλώσεις SQL για να εκτελέσει την αποθηκευμένη διαδικασία :

ΔΗΛΩΝΟΥΝ @ mytotalorder χρήματα

EXEC spordercount @ @ mytotalorder = total_order εξόδου , ​​'2010 - 03-21 »,« Δ% »

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

Επιστροφή τιμών από τις αποθηκευμένες διαδικασίες , προσθέτοντας την ακόλουθη δήλωση : .

RETURN @ order_count

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

Χρησιμοποιήστε την εντολή ALTER ΔΙΑΔΙΚΑΣΙΑ procedurename να τροποποιήσετε την αποθηκευμένη διαδικασία . Η σύνταξη είναι παρόμοια με τη διαδικασία που δημιουργούν . Εισάγετε τις ακόλουθες δηλώσεις για να τροποποιήσει τη διαδικασία spordercount να προσθέσετε μια άλλη μεταβλητή κατάστασης . Η αποθηκευμένη διαδικασία θα περιορίσει τις γραμμές με βάση την κατάσταση της κατοικίας και όχι το όνομα .

ALTER ΔΙΑΔΙΚΑΣΙΑ sporderscount

@ order_state varchar ( 30 ) = NULL , πώληση

@ total_order ΕΞΟΔΟΣ χρήματα , πώληση

@ ORDER_DATE smalldatetime = NULL

AS

SELECT @ total_order = άθροισμα ( total_order )

ΑΠΟ παραγγελίες JOIN πελάτες

ON orders.orderID = customers.orderID

ΠΟΥ ( ORDER_DATE > = @ date_var )

ΚΑΙ ( CustomerState = @ order_state )
Η 6

Διαγραφή της αποθηκευμένης διαδικασία χρησιμοποιώντας την εντολή procedurename ΔΙΑΔΙΚΑΣΙΑ DROP . Δεν μπορείτε να αναιρέσετε την επίδραση της εντολής πτώσης . Διαγράψτε το spordercount αποθηκευμένη διαδικασία εισάγοντας την ακόλουθη δήλωση :

ΔΙΑΔΙΚΑΣΙΑ DROP sporderscount
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα