---
title: "Triggers i Oracle 9"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/115499-triggers-i-oracle-9"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "pimme"
published: "2004-11-09T18:39:40.000Z"
updated: "2004-11-09T19:34:59.000Z"
replies: 4
views: 184
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/115499-triggers-i-oracle-9"
---

# Triggers i Oracle 9

## #1 — pimme, 2004-11-09T18:39Z

Hej, läser för tillfället en kurs i databasteknik.
Triggers är inget som vi har gått igenom än och jag tror inte vi kommer göra det heller, men jag ville leka lite med det ändå.
Det står inget ordentligt exempel på Trigger vid INSERT i boken utan bara vid UPDATE, men vad jag förstår ska det se ungefär likadant ut.
Den här koden testar jag (har testat lite olika modifieringar på den med) men den fungerar inte.

```
CREATE TRIGGER ReservationTrigger
BEFORE INSERT ON Reservation
REFERENCING
        NEW ROW AS newRow

        UPDATE Shows
        SET availableSeats = availableSeats - 1
        WHERE Shows.showId = newRow.showId;
```

Det som händer är ingenting. Den verkar vänta på en fortsättning på mitt CREATE TRIGGER kommando och jag är tvungen att trycka ctrl+c för att avbryta.
Nån som vet vad som är fel?

Permalänk: https://www.webforum.nu/p/115499

## #2 — LarsG, 2004-11-09T18:54Z

```
CREATE TRIGGER ReservationTrigger
BEFORE INSERT ON Reservation
for each row
UPDATE Shows
        SET availableSeats = availableSeats - 1
        WHERE Shows.showId = :new.showId;
```

Permalänk: https://www.webforum.nu/p/1481576

## #3 — pimme, 2004-11-09T19:18Z

Tyvärr, det verkar inte fungera heller.  :(

> **SQL\*Plus skrev:**
>
> SQL\> CREATE TRIGGER ReservationTrigger
>   2  BEFORE INSERT ON Reservation
>   3  for each row
>   4  UPDATE Shows
>   5          SET availableSeats = availableSeats - 1
>   6          WHERE Shows.showId = :new.showId;
>   7  
>   8

Här kan jag sen trycka på enter hur många gånger jag vill, det händer inget mer.

Permalänk: https://www.webforum.nu/p/1481584

## #4 — LarsG, 2004-11-09T19:26Z

Det verkar mer vara något problem med verktyg du använder. Har för mig att det finns något där man avslutar kommandon med /

Permalänk: https://www.webforum.nu/p/1481590

## #5 — pimme, 2004-11-09T19:34Z

Ahh, tackar. Nu fungerade det.
Eller, var tvungen att lägga till begin och end också  :)

```
CREATE TRIGGER ReservationTrigger
BEFORE INSERT ON Reservations
for each row
BEGIN
UPDATE Shows
        SET availableSeats = availableSeats - 1
        WHERE Shows.showId = :new.showId;
END;
/
```

Permalänk: https://www.webforum.nu/p/1481598

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/115499-triggers-i-oracle-9
