λογισμικό

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

Σύνθετη PL SQL Tutorial

Oracle PL /SQL είναι μια διαδικαστική γλώσσα που είναι μια επέκταση της SQL , ή η δομημένη γλώσσα ερωτημάτων . Χρησιμοποιήστε το PL /SQL για να επιτευχθούν τα επιθυμητά αποτελέσματα , όταν το πρότυπο DML , ή γλώσσα χειρισμού δεδομένων ή επιλέξτε δηλώσεις δεν μπορούν. Διαδικασίες , λειτουργίες , προκαλεί, και τα πακέτα είναι τέσσερις διαφορετικούς τύπους των αποθηκευμένων αντικειμένων ή αποθηκευμένα προγράμματα , γραμμένο σε PL /SQL . Θα πρέπει να κατανοήσουν την έννοια της δημιουργίας και συντήρησης των PL /SQL αποθηκεύονται αντικείμενα για να βελτιστοποιήσουν την απόδοση και το χρόνο προγραμματισμού . Σε αυτό το άρθρο , η εστίαση είναι σε μια διαδικασία και μια λειτουργία . Οδηγίες
Η

1 Συνδέστε την Oracle SQL * Plus κάνοντας κλικ στο " Έναρξη", " Όλα τα προγράμματα " και " SQLPlus . " 2

Εισάγετε το όνομα χρήστη και τον κωδικό πρόσβασής σας και, στη συνέχεια , κάντε κλικ "OK". στην Oracle SQL * Plus παράθυρο διαλόγου .
εικόνων 3

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

SQL >

" Σύσταση ή την αντικατάσταση ΔΙΑΔΙΚΑΣΙΑ update_product_price (

p_product_id ΣΤΟΝ ΤΥΠΟ products.product_id % , πώληση

p_factor ΣΕ ΑΡΙΘΜΟ

)

AS

v_product_count INTEGER ?

BEGIN

- να μετρήσει τον αριθμό των προϊόντων με το < br >

- παρέχεται product_id )

SELECT COUNT ( * )

ΣΕ v_product_count

ΑΠΟ προϊόντα

ΟΠΟΥ product_id = p_product_id ?

- αν υπάρχει το προϊόν ( v_product_count = 1 ), τότε

- ενημέρωση ότι η τιμή του προϊόντος

αΝ v_product_count = 1 ΤΟΤΕ

προϊόντα uPDATE
< p> τιμή SET = τιμή * p_factor

ΟΠΟΥ product_id = p_product_id ?

ΔΕΣΜΕΥΣΗ ?

END IF ?

ΕΞΑΙΡΕΣΗ

ΟΤΑΝ ΑΛΛΑ ΤΟΤΕ

ROLLBACK ?

update_product_price ΤΕΛΟΣ ? .

/"

Μετά τη διαδικασία αυτή καταρτίζονται , θα εμφανιστεί η ένδειξη" διαδικασία δημιούργησε "
< p > Σημείωση : για να εκτελέσετε με επιτυχία και να καλέσει τη διαδικασία αυτή , ένας πίνακας των προϊόντων πρέπει να υπάρχει στη βάση δεδομένων Oracle με τα αποθηκευμένα δεδομένα

Χρησιμοποιώντας το "SELECT " και την εντολή "WHERE " εντολή για την αναζήτηση της τιμής του προϊόντος # 1 . έτσι ώστε να μπορείτε να κάνετε μια σύγκριση μετά την κλήση της διαδικασίας . Στη γραμμή SQL , πληκτρολογήστε τον κωδικό

SQL >

"SELECT product_id , product_type_id , το όνομα , την περιγραφή , την τιμή ΑΠΟ προϊόντα

ΟΠΟΥ product_id = 1 ? " . < Br >

Τα αποτελέσματα θα εμφανίσει ολόκληρη την εγγραφή , αλλά που αναγράφονται παρακάτω είναι μόνο η στήλη τιμή για το προϊόν που είναι χαρακτηρισμένα ως product_id = 1 .

ΤΙΜΗ

------- -

19.95

Καλέστε τη διαδικασία update_product_price . Στη γραμμή SQL , πληκτρολογήστε τον κωδικό

SQL >

" update_product_price CALL ( 1 , 1.5) ? " .

Ολοκληρωθεί Καλέστε

Το αποτέλεσμα . οθόνες που ολοκληρώθηκε η πρόσκληση και η τιμή για produt_id ενημερώνεται κατά τη χρήση του SELECT και WHERE εντολές στη γραμμή εντολών SQL

SQL > SELECT τιμή ΑΠΟ ΟΠΟΥ προϊόντα product_id = 1 ? .

ΤΙΜΗ < br >

----------

29.93
Η 4

Δημιουργήστε μια λειτουργία . Όταν καλείτε μια συνάρτηση από μια δήλωση , θα πρέπει να επιστρέψει μια τιμή . Επιπλέον , με τις πολλές λειτουργίες που παραδίδονται από το κουτί με τη βάση δεδομένων Oracle 10g , προγραμματιστές να δημιουργήσουν τις δικές τους λειτουργίες για να αυξήσει την επίδραση στην απόδοση . Στη γραμμή SQL , πληκτρολογήστε τον κωδικό .

SQL >

" ΔΗΜΙΟΥΡΓΙΑ Ή ΑΝΤΙΚΑΤΑΣΤΑΣΗ ΛΕΙΤΟΥΡΓΙΑ average_product_price (

p_product_type_id ΣΤΟ ΑΚΕΡΑΙΟ

) ΑΡΙΘΜΟΣ ΕΠΙΣΤΡΟΦΗ < br >

AS

v_average_product_price ΑΡΙΘΜΟΣ ?

BEGIN

SELECT AVG ( τιμή )

ΣΕ v_average_product_price

ΑΠΟ προϊόντα < br >

ΟΠΟΥ product_type_id = p_product_type_id ?

ΕΠΙΣΤΡΟΦΗΣ v_average_product_price ?

average_product_price ΤΕΛΟΣ ? .

/"

Λειτουργία δημιουργήθηκε

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

SQL >

"SELECT average_product_price ( 1 )

ΑΠΟ dual ? " .

AVERAGE_PRODUCT_PRICE ( 1 ) < br >

------------------------

29.93

Η < br >

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

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