Triggere Mutasjoner i basen. Triggers Triggers are stored procedures that execute automatically when something (event) happens in the database: : data.

Slides:



Advertisements
Liknende presentasjoner
DROPS simulator - konspetet •En ny tilnærming til å forhindre DROPS •En interaktive 3D simulering av riggen, som gjør det mulig for brukeren å: - utføre.
Advertisements

Everyone Print Kalle Snarheim.
Ordspr./ proverbs 4,18 Rettferdiges sti er som morgenens lysskjær, det vokser til det blir høylys dag. The way of the righteous is like the first gleam.
Jara NetBusiness Vedlikeholdsrelease , 11. februar 2008.
Organization and board
Régis Laurent Director of Operations, Global Knowledge Competencies include: Gold Learning Silver System Management Touch, flip and fold Håvard Haukeberg.
Gruppemedlemmer Gruppa består av: Magnus Strand Nekstad – s156159
The Trondheim Toll Ring System
NUUG.topic = Ruby.new Johannes Brodwall Takk til Dave Thomas for bruk av enkelte slides.
Ledelsesinformasjonsystem
Hvem var Ellen White? • Født i USA i 1827 • Et av 8 barn • Vokste opp som metodist • Ble kristen da hun var 12 • Ble Adventist etter hvert • Fikk drømmer.
Det er ganske underlig med disse sentrale salmene. Selv om du ikke er religiøs burde du lese dette.
3D-structure of bacterial ribsoomes. Components required for protein-synthesis in E. coli.
Hjelp, vi har algdat! En liten kickstart på TDT4120 Algoritmer og datastrukturer Åsmund Eldhuset.
Kvalitetssikring av analyser til forskningsbruk
Global oppvarming Mål: Vi skal lage en enkel database med temperaturdata fra 1770 til i dag. Deretter tilby et brukergrensesnitt mot databasen.
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 31.8 Kapittel 3: Grunnlag for programmering i Visual Basic.
SQLHiA DAT 2800 Databaser I Prosedyrer / Triggere.
SINTEF Fiskeri og havbruk AS 1 Yngelfôr til torsk Kan vi erstatte levendefôr med nytt formulert fôr nå? Jose Rainuzzo Seniorforsker SINTEF Fiskeri og Havbruk.
Konseptuell modell Hvordan skal dette se ut ifra brukeren?
SQLHiA Transaksjoner. SQLHiA TransaksjonDefinisjon En transaksjon er en serie av en eller flere SQL-statement som til sammen danner en logisk enhet. Med.
Men hva mener de som har klart det? Børge Haugset (NTNU&SINTEF)
1 Information search for the research protocol in IIC/IID Medical Library, 2013.
ADA 95 – del3 Foreleser: Olaf Hallan Graven Bok: Programming in ADA95 (2nd) John Barnes.
Instead-of-trigger Faglig forum. Instead-of-trigger Problem: En har et VIEW som består av mange JOINs. Komplekst å oppdatere alle tabellene som inngår.
  Den perfekte julegaven til Javakoden din Johannes Brodwall Steria.
Forskningsetikk og premiering av deltakere i forskning: Hva sier NESHs retningslinjer og hvilke forskningsetiske spørsmål reises? Bergen, 27, februar 2009.
Økonomiske forutsetninger Gullfaks landsbyen 2007.
Citation and reference tools for your master thesis
Trondheim 6. mars 2014 Mørke skyer i horisonten?.
Database tilgang Opret forbindelse til din Ms SQL database inde i Visual Studio fra Server Explorer vinduet.
1 | 2010 Internetteknologi 2 (ITNET2) Kort teknisk ASP.NET introduktion Mandag den 4/ Jesper Tørresø.
Damasio om rasjonelle valg og somatiske markører
Problem set 2 By Thomas and Lars PS: Choose the environment, choose many pages per sheet. Problem set 2 Exercise 11/29 Laget av: Thomas Aanensen og Lars.
Planning and controlling a project Content: Results from Reflection for action The project settings and objectives Project Management Project Planning.
Modellering og diagrammer Jesper Tørresø DAB1 E september 2007.
Section 5.4 Sum and Difference Formulas These formulas will be given to you on the test.
Misjon – å krysse grenser
Geografiske informasjonssystemer (GIS) SGO1910 & SGO4930 Vår 2004 Foreleser: Karen O’Brien Seminarleder: Gunnar Berglund
The Thompson Schools Improvement Project Process Improvement Training Slides (Current State Slides Only) October 2009.
Primary French Presentation 10 Colours L.I. C’est de quelle couleur?
Forelesning 1 Hva er historie?. Om historien som fag og historien som forestillingsverden.
Nattverd – del 2. Luk Han sa til dem: Jeg har lengtet inderlig etter å ete dette påskemåltidet sammen med dere før jeg lider. 16 For jeg sier.
Nattverd – del 1 Matt Mens de nå holdt måltid, tok Jesus et brød, ba velsignelsesbønnen* og brøt det, ga disiplene og sa: Ta, et! Dette er.
SoMe – dei nye privatarkiva?
Oppfriskning av engelskferdigheter
MikS WP1/WP2 Planned work from SINTEF.
Citation and reference tools for your master thesis
Faste - på vei mot påske Luk Faste - på vei mot påske Luk
Citation and reference tools for your master thesis
Eksempel fra Nevrologisk avdeling
Dette er et eksempel på plassering av logoene.
Ole Kristoffer Dybvik Apeland Nkom
Økonomiske forutsetninger
Using nursery rhymes and songs
Citation and reference tools for your master thesis
The Scoutmaster guides the boy in the spirit of another brother.
Project Honolulu - An Island or a new way to manage servers ????????
Responsibility The purpose of the tutor reflections are to
A review of exploration activity and results on the NCS
Vaccine Delivery in Developing Countries
Biological quality assurance in Norway– Biological standards
LO2 – Understand Computer Software
1.4 Relations & Functions.
Behind the scene Anders Hattestad ,
Kaveet Patel – Education Officer
Database.
Chapter 9 Designing Databases
What belongs in state storage API’s?
(You can delete these instructions before sharing with students.)
Utskrift av presentasjonen:

Triggere Mutasjoner i basen

Triggers Triggers are stored procedures that execute automatically when something (event) happens in the database: : data modification (INSERT, UPDATE or DELETE) : schema modification : system event (user logon/logoff) Types of triggers : row-level triggers : statement-level triggers : BEFORE and AFTER triggers : INSTEAD OF triggers (used for views) : schema triggers : database-level triggers

The optional FOR EACH ROW clause is known as a row-level trigger (i.e., the rule is triggered separately for each tuple).The optional FOR EACH ROW clause is known as a row-level trigger (i.e., the rule is triggered separately for each tuple). If FOR EACH ROW clause was left out, the trigger would be known as a statement-level trigger (i.e., the rule would be triggered once for each triggering statement).If FOR EACH ROW clause was left out, the trigger would be known as a statement-level trigger (i.e., the rule would be triggered once for each triggering statement). The keywords NEW and OLD can only be used with row-level triggers.The keywords NEW and OLD can only be used with row-level triggers.

Rekkefølge Firing order: 1. Before Statement (once only) 2. Before Row (once per each affected row) 3. The actual DML statement 4. After Row (once per each affected row) 5. After Statement (once only)

Trigger Syntax CREATE OR REPLACE TRIGGER trigger-name BEFORE | AFTER DELETE | INSERT | UPDATE [OF column(s)] ON table-name [FOR EACH ROW [WHEN SQL-predicate] ] {PL/SQL block (SQL statements and PL/SQL extensions) };

Trigger Example -- this is an example of an update, after, row trigger CREATE TRIGGER give_bonus AFTER UPDATE OF sales ON salespeople FOR EACH ROW WHEN sales > BEGIN UPDATE commission SET bonus = bonus ; UPDATE commission SET bonus = bonus ; END; END;

Navnekonvensjon I FS har vi bare triggere for insert/update/delete. Vi gir dem disse prefixene:I FS har vi bare triggere for insert/update/delete. Vi gir dem disse prefixene: DAR – Delete After RowDAR – Delete After Row DAS – Delete After StatementDAS – Delete After Statement DBR – Delete Before RowDBR – Delete Before Row DBS – Delete Before StatementDBS – Delete Before Statement IAR – Insert After RowIAR – Insert After Row IAS – Insert After StatementIAS – Insert After Statement IBR – Insert Before RowIBR – Insert Before Row IBS – Insert before StatementIBS – Insert before Statement UAR – Update After RowUAR – Update After Row UAS – Update After StatementUAS – Update After Statement UBR – Update Before RowUBR – Update Before Row UBS – Update Before StatementUBS – Update Before Statement

Mutasjoner ORA-04091: table is mutating, trigger/function may not see itORA-04091: table is mutating, trigger/function may not see it The basic reason for this error is the way Oracle manages a read consistent view of data. The error is encountered when a row- level trigger accesses the same table on which it is based, while executing. The table is said to be mutating. Mutation will not occur if a single record is inserted in the table (using VALUES clause). If bulk insertion is done or data is inserted from another table mutation will occur.The basic reason for this error is the way Oracle manages a read consistent view of data. The error is encountered when a row- level trigger accesses the same table on which it is based, while executing. The table is said to be mutating. Mutation will not occur if a single record is inserted in the table (using VALUES clause). If bulk insertion is done or data is inserted from another table mutation will occur. The mutating error is not only encountered during queries, but also for insert, updates and deletes present in the trigger.The mutating error is not only encountered during queries, but also for insert, updates and deletes present in the trigger.

FS har en mutasjonspakke Bruker en plsqlpakke for hver tabell. Oppretter to lister: newListe og oldListe for gamle og nye rader. Disse listene blir populert i DBR/IBR/UBR-triggerene. I DAS/IAS/UAS-triggerene blir en prosedyre i pakken, for eksempel P_Vedlikehold_Insert, kallet. Disse løper da igjennom de to listene og gjør det triggeren skal gjøre

Eksempel på p_vedlikehold --| PROCEDURE P_Vedlikehold_Insert --| PROCEDURE P_Vedlikehold_Insert --| Vedlikeholder restriksjoner, kontroller på nye forekomster --| Vedlikeholder restriksjoner, kontroller på nye forekomster --| --| Procedure P_Vedlikehold_Insert Is Procedure P_Vedlikehold_Insert Is Begin Begin While newCount# > 0 Loop While newCount# > 0 Loop P_SjekkAktivitetFinnes(newCount#); P_SjekkAktivitetFinnes(newCount#); newCount#:=newCount# - 1; newCount#:=newCount# - 1; End Loop; End Loop; End P_Vedlikehold_Insert; End P_Vedlikehold_Insert;

Takk for oppmerksomheten!