Copyright © 2006 – Quality & Reliability SA PL/SQL TRIGGERS ΜΕΡΟΣ 1.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2012 Nicolas Tsapatsoulis Φυσική Σχεδίαση – Υλοποίηση βάσης ΕΣΔ232 – Οργάνωση Δεδομένων στη.
Advertisements

ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Εισαγωγή στην SQL ΕΣΔ232 – Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας.
MySQL + Γλώσσα Προγραμματισμού
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Τεχνολογία ΛογισμικούSlide 1 Έλεγχος Καταψύκτη (Ada) Τεχνολογία ΛογισμικούSlide 39 with Pump, Temperature_dial, Sensor, Globals, Alarm; use Globals ; procedure.
PL/SQL.
Ορισμοί Σχεσιακού Μοντέλου και (απλές)Τροποποιήσεις Σχέσεων στην SQL
Αποθηκευμένες Διαδικασίες και Εναύσματα Δρ. Παναγιώτης Συμεωνίδης.
JAVA και SQL Δαμιανός Χατζηαντωνίου
Entity-Relationship Παραδείγματα Πληροφοριακά Συστήματα και Βάσεις Δεδομένων Φροντιστήριο 1 Δαμιανός Χατζηαντωνίου.
Προγραμματισμός ΙΙ Διάλεξη #7: Περισσότερες Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
ORACLE PL/SQL Cursors Μέρος 1.
1919 Αντικειμενο-σχεσιακά ΣΔΒΔ  Εμφωλιασμένες Σχέσεις  Το Πρότυπο SQL:1999 (SQL3)  Σύγκριση Συστημάτων.
ORACLE PL/SQL Records. Εγγραφές (Records) DECLARE TYPE t_Rec1Type IS RECORD ( Field1 NUMBER, Field2 VARCHAR2(5)); TYPE t_Rec2Type IS RECORD ( Field1 NUMBER,
9 Η Γλώσσα SQL Ορισμός Δεδομένων (data definition)
ORACLE PL/SQL Εξαιρέσεις Exceptions. ΟΡΙΣΜΟΣ Μια εξαίρεση (exception) είναι ένας δείκτης που ενεργοποιείται κατά την εκτέλεση του προγράμματος.
Δυναμικη Δεσμευση Μνημης Συνδεδεμενες Λιστες (dynamic memory allocation, linked lists) Πως υλοποιουμαι προγραμματα που δεν γνωριζουμε πριν την εκτελεση.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL.
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Διασύνδεση Java Εφαρμογών με ΒΔ Π. Φιτσιλής 1.
1 Εναύσματα και Περιορισμοί Database Management Systems, Antonis Sidiropoulos.
ORACLE PL/SQL Άρης Στουγιαννίδης. ΒΡΟΧΟΣ ΜΕ ΜΕΤΡΗΤΗ FOR REM forloop.sql REM This is an example of a FOR loop. BEGIN FOR v_Counter IN LOOP INSERT.
9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων  Χειρισμός Δεδομένων.
9 Η Γλώσσα SQL  Εισαγωγή – Βασικές Έννοιες  Τύποι Δεδομένων  Ορισμός Δεδομένων (data definition)  Χειρισμός Δεδομένων (data manipulation)
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Τεχνολογία ΛογισμικούSlide 1 Σχεδιασμός Λογισμικού ATM loop Print_input_message (” Welcome - Please enter your card”) ; exit when Card_input ; end loop.
ΕΠΛ 342 – Βάσεις Δεδομένων Εργαστήριο 4 ο SQL - Queries Ιωάννα Συρίμη
ΗΥ Παπαευσταθίου Γιάννης1 Clock generation.
ORACLE PL/SQL Cursors Μέρος 2. Cursors 2 Cursors με παραμέτρους Εισαγωγή παραμέτρου κατά την εκτέλεση Πολλά ανοίγματα με διαφορετικές παραμέτρους.
WRITING B LYCEUM Teacher Eleni Rossidou ©Υπουργείο Παιδείας και Πολιτισμού.
ΕΣΔ 232: Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας © 2012 Nicolas Tsapatsoulis Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 – Οργάνωση Δεδομένων στη.
Διαχείριση Διαδικτυακής Φήμης! Do the Online Reputation Check! «Ημέρα Ασφαλούς Διαδικτύου 2015» Ε. Κοντοπίδη, ΠΕ19.
Επανάληψη και λυμένα θέματα του μαθήματος «Βάσεις Δεδομένων ΙΙ» για τη διδασκαλία του στo Τμήμα Πληροφορικής του ΤΕΙ Αθήνας. Διδάσκων: Χ. Σκουρλάς,
Διδακτική της Πληροφορικής
Μαθαίνω με “υπότιτλους”
Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας
Βάσεις Δεδομένων Ι 4η διάλεξη
Σύντομη περιγραφή Μια περιήγηση σε αφυπνιζόμενα προγράμματα (triggers), δηλαδή προγράμματα ενεργοποιούμενα από ενέργειες INSERT, UPDATE, DELETE στη βάση.
Περιγραφή Ενότητας Σκοπός του μαθήματος αυτού και κεντρικός σκοπός του μαθήματος των Βάσεων Δεδομένων Ι είναι η παρουσίαση των απαραίτητων εννοιών ώστε.
Η Γλώσσα Pascal Εντολή If
ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ
Έλεγχος λογισμικού Ποιότητα Λογισμικού Black Box testing
Σκοπός & Στόχος Μαθήματος

Βάσεις Δεδομένων και web-based Εφαρμογές
9 Η Γλώσσα SQL Εισαγωγή – Βασικές Έννοιες Τύποι Δεδομένων
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Περιγραφή Ενότητας Σκοπός του μαθήματος είναι να κατανοήσουμε την έννοια της όψης της γλώσσας SQL. Χ. Σκουρλάς.
Υδρόβια Φυτά Θεοφανώ Κούλεντρου Rippling Water (Basic)
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΛΩΣΣΑ C
Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL
Βάσεις Δεδομένων Εισαγωγή για το Εργαστήριο Δρ. Τιάκας Ελευθέριος
Βάσεις Δεδομένων ΙΙ Triggers
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Αρχιτεκτονική Συστημάτων
Ο ΔΙΑΛΟΓΟΣ ΤΟΥ ΙΗΣΟΥ ΜΕ ΤΗ ΣΑΜΑΡΕΙΤΙΣΣΑ
Τεχνικές Μάλαξης (Ε) Ενότητα 5: Άνω άκρο - Εφαρμογές
ΟΜΑΔΑ Α΄ Φύλλο εργασίας
Πρότυπα Προγραμματισμού
Αντικειμενο-σχεσιακά ΣΔΒΔ
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας
Βάσεις Δεδομένων ΙΙ Ενότητα 8: Συναλλαγές (Transactions) Χ. Σκουρλάς
Βάσεις Δεδομένων ΙΙ Ενότητα 6: Τεχνολογία PL/SQL - cursors Χ. Σκουρλάς
Από το ΔΟΣ σε Πίνακες Δρ. Νίκος Καρούσος
Μεθοδολογία των Επιστημών του Ανθρώπου: Στατιστική
Σχεσιακεσ βασεισ δεδομενων
Βάσεις Δεδομένων ΙΙ Ενότητα 5: Μελέτη περιπτώσεως:
Find: ρc [in] from load γT=110 [lb/ft3] γT=100 [lb/ft3]
ΠΑΡΑΔΕΙΓΜΑΤΑ SQL Ή ΠΑΡΑΔΕΙΓΜΑΤΑ SQL Ή
SQL Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Διάταξη τίτλου Υπότιτλος.
Μεταγράφημα παρουσίασης:

Copyright © 2006 – Quality & Reliability SA PL/SQL TRIGGERS ΜΕΡΟΣ 1

Copyright © 2006 – Quality & Reliability SA ΧΡΗΣΕΙΣ ΔΙΑΤΗΡΗΣΗ ΑΚΕΡΑΙΟΤΗΤΑΣ ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΑΛΛΑΓΩΝ ΕΝΗΜΕΡΩΣΗ ΑΛΛΩΝ ΠΡΟΓΡΑΜΜΑΤΩΝ ΔΗΜΟΣΙΕΥΣΗ ΠΛΗΡΟΦΟΡΙΩΝ

Copyright © 2006 – Quality & Reliability SA ΤΥΠΟΙ DML TRIGGER –Πυροδοτείται πριν ή μετά από μια εντολή DML (χειρισμού δεδομένων). INSTEAD OF TRIGGER –Υποκαθιστά μια εντολή DML SYSTEM TRIGGER –Πυροδοτείται αν επέλθει κάποιο συμβάν στο σύστημα.

Copyright © 2006 – Quality & Reliability SA ΣΥΝΤΑΞΗ CREATE OR REPLACE TRIGGER [Name] {BEFORE|AFTER|INSTEAD OF} {INSERT|UPDATE|DELETE} [συμβάν ενεργοποίησης] [WHEN συνθήκη] [FOR EACH ROW] DECLARE -- local variables here begin end [Name];

Copyright © 2006 – Quality & Reliability SA ΕΚΤΕΛΕΣΗ ΤΩΝ DML TRIGGERS ΠΡΩΤΑ ΟΙ BEFORE TRIGGERS ΕΠΙΠΕΔΟΥ ΕΝΤΟΛΗΣ META ΟΙ BEFORE TRIGGERS ΕΠΙΠΕΔΟΥ ΓΡΑΜΜΗΣ ΠΡΟΒΛΕΠΟΜΕΝΗ ΕΝΤΟΛΗ DML AFTER ΓΡΑΜΜΗΣ AFTER ΕΝΤΟΛΗΣ

Copyright © 2006 – Quality & Reliability SA :old ΚΑΙ :new CREATE TRIGGER PersonCheckAge AFTER INSERT OR UPDATE OF age ON Person FOR EACH ROW BEGIN IF (:new.age < 0) THEN RAISE_APPLICATION_ERROR( , 'no negative age allowed'); END IF; END;

Copyright © 2006 – Quality & Reliability SA Drop/alter

Copyright © 2006 – Quality & Reliability SA παράδειγμα Κλασικός Trigger για την χορήγηση ΡΚ

Copyright © 2006 – Quality & Reliability SA Audit Trail BEGIN /* Use 'I' for an INSERT, 'D' for DELETE, and 'U' for UPDATE. */ IF INSERTING THEN v_ChangeType := 'I'; ELSIF UPDATING THEN v_ChangeType := 'U'; ELSE v_ChangeType := 'D'; END IF; CREATE OR REPLACE TRIGGER LogRSChanges BEFORE INSERT OR DELETE OR UPDATE ON registered_students FOR EACH ROW DECLARE v_ChangeType CHAR(1); BEGIN /* Use 'I' for an INSERT, 'D' for DELETE, and 'U' for UPDATE. */ IF INSERTING THEN v_ChangeType := 'I'; ELSIF UPDATING THEN v_ChangeType := 'U'; ELSE v_ChangeType := 'D'; END IF; /* Record all the changes made to registered_students in RS_audit. Use SYSDATE to generate the timestamp, and USER to return the userid of the current user. */ INSERT INTO RS_audit (change_type, changed_by, timestamp, old_student_id, old_department, old_course, old_grade, new_student_id, new_department, new_course, new_grade) VALUES (v_ChangeType, USER, SYSDATE, :old.student_id, :old.department, :old.course, :old.grade, :new.student_id, :new.department, :new.course, :new.grade); END LogRSChanges;

Copyright © 2006 – Quality & Reliability SA INSERT INTO RS_audit (change_type, changed_by, timestamp, old_student_id, old_department, old_course, old_grade, new_student_id, new_department, new_course, new_grade) VALUES (v_ChangeType, USER, SYSDATE, :old.student_id, :old.department, :old.course, :old.grade, :new.student_id, :new.department, :new.course, :new.grade); END LogRSChanges; CREATE OR REPLACE TRIGGER LogRSChanges BEFORE INSERT OR DELETE OR UPDATE ON registered_students FOR EACH ROW DECLARE v_ChangeType CHAR(1); BEGIN /* Use 'I' for an INSERT, 'D' for DELETE, and 'U' for UPDATE. */ IF INSERTING THEN v_ChangeType := 'I'; ELSIF UPDATING THEN v_ChangeType := 'U'; ELSE v_ChangeType := 'D'; END IF; /* Record all the changes made to registered_students in RS_audit. Use SYSDATE to generate the timestamp, and USER to return the userid of the current user. */ INSERT INTO RS_audit (change_type, changed_by, timestamp, old_student_id, old_department, old_course, old_grade, new_student_id, new_department, new_course, new_grade) VALUES (v_ChangeType, USER, SYSDATE, :old.student_id, :old.department, :old.course, :old.grade, :new.student_id, :new.department, :new.course, :new.grade); END LogRSChanges;

Copyright © 2006 – Quality & Reliability SA