Triggeri pe baza de date

Trimis la data: 2013-01-07 Materia: Electronica Nivel: Facultate Pagini: 7 Nota: / 10 Downloads: 0
Autor: Alin Proca Dimensiune: 19kb Voturi: Tipul fisierelor: doc Acorda si tu o nota acestui seminar: 1 2 3 4 5 6 7 8 9 10
vezi mai multe detalii vezi mai putine detalii
Raporteaza o eroare
Sunt asociati cu o tabela, view, schema sau database
Sunt stocati in baza de date
Se executa cand are loc un eveniment. Tipuri de evenimente:operatii LMD pe o tabela (insert/ update/ delete);operatii LMD pe o tabela virtuala (view) cu clauza INSTEAD OF;operatii LDD (Create, Alter, Drop) la nivel de database sau schema;evenimente la nivelul schemei sau bazei de date (shutdown sau logon/off).
Referate similare: Nu exista seminarii similare

Se folosesc pentru gestionarea restrictiilor de integritate complexe, monitorizare, centralizarea operatiilor. Nu se recomanda construirea in exces a triggerilor.Pentru fiecare trigger se stabileste:comanda care-l declanseaza (insert| update| delete) - Un trigger poate fi declansat de mai multe comenzi;momentul de timp la care se declanseaza (before| after| instead of). Pentru view se utilizeaza instead of, actiunile DML vor fi inlocuite de corpul triggerului si vor fi afectate tabelele din care este construit view-ul.

Nivelul (row| statement) - daca triggerul este la nivel de rand se executa pentru fiecare rand afectat de comenzile: insert| update| delete. Daca nu este afectat nici un rand triggerul nu se executa.Dimensiunea unui trigger nu poate depasi 32 kb! Se poate include apelul unei proceduri in corpul triggerului pentru a micsora dimensiunea acestuia.

(:OLD) nu este definit pentru INSERT si (:NEW) nu e definit pentru DELETE.Desi sintactic sunt tratate ca tip de data record, in realitate ele nu sunt si operatiile de atribuire directa var_record:=:old ce sunt valide pentru record nu sunt valide pentru (:new) si (:old). Din acest motiv trebuie precizate exact campurile din pseudo-record :old.camp sau :new.camp.

Nu se recomanda realizarea de triggeri la nivel de rind care utilizeaza valori ale coloanelor din tabele si care sunt supuse actualizarilor prin comenzile DML ce declanseaza triggerul (mutating table). Va apare aceeasi eroare ca la functii.Utilizarea clauzei WHEN pentru a conditiona executia unui trigger:clauza [when conditie] este valida pentru triggerii la nivel de rand;corpul triggerului va fi executat numai pentru acele randuri ce indeplinesc conditia specificata.

Clauza INSTEAD OF
Sunt triggeri realizati doar pentru view-uri
Se utilizeaza pentru actualizarea tabelelor din care este construit un view neactualizabil. Realizeaza operatii DML pe aceste tabele, iar Oracle Server declanseaza triggerii pe tabelele respective.
Daca un view este actualizabil, triggerii respectivi se declanseaza automat.Sunt triggeri la nivel de rand.Nu permit utilizarea clauzelor BEFORE|AFTER

  • pag. 1
  • pag. 2
  • pag. 3
  • pag. 4
  • pag. 5
  • pag. 6
  • pag. 7

Nota explicativa
Referatele si lucrarile oferite de Referate.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Referat.ro te invata cum sa faci o lucrare de nota 10!
Linkuri utile
Programeaza-te online la salonul favorit Descarca gratuit aplicatiile pentru iOS si Android Filmulete haioase Filme, poante si cele mai tari faze Jocuri Cele mai tari jocuri de pe net Referate scoala Resurse, lucrari, referate materiale pentru lucrari de nota 10
Toate imaginile, textele sau alte materiale prezentate pe site sunt proprietatea referat.ro fiind interzisa reproducerea integrala sau partiala a continutului acestui site pe alte siteuri sau in orice alta forma fara acordul scris al referat.ro. Va rugam sa consultati Termenii si conditiile de utilizare a site-ului. Informati-va despre Politica de confidentialitate. Daca aveti intrebari sau sugestii care pot ajuta la dezvoltarea site-ului va rugam sa ne scrieti la adresa webmaster@referat.ro.
Confidentialitatea ta este importanta pentru noi

Referat.ro utilizeaza fisiere de tip cookie pentru a personaliza si imbunatati experienta ta pe Website-ul nostru. Te informam ca ne-am actualizat politica de confidentialitate pentru a integra cele mai recente modificari privind protectia persoanelor fizice in ceea ce priveste prelucrarea datelor cu caracter personal. Inainte de a continua navigarea pe Website-ul nostru te rugam sa aloci timpul necesar pentru a citi si intelege continutul Politicii de Cookie. Prin continuarea navigarii pe Website-ul nostru confirmi acceptarea utilizarii fisierelor de tip cookie conform Politicii de Cookie. Nu uita totusi ca poti modifica in orice moment setarile acestor fisiere cookie urmarind instructiunile din Politica de Cookie.


Politica de Cookie
Am inteles