---
title: "triggers? views?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/111081-triggers-views"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "pellesvenne"
published: "2004-09-08T07:51:57.000Z"
updated: "2004-09-08T18:57:41.000Z"
replies: 6
views: 351
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/111081-triggers-views"
---

# triggers? views?

## #1 — pellesvenne, 2004-09-08T07:51Z

vad är triggers och views för nått och vad använder man det till?

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

## #2 — OveRRidE, 2004-09-08T07:55Z

LarsG har svarat ganska bra på vad en vy är för några år sedan. <http://www.webforum.nu/showthread.php?s=&postid=123009#post123009>

En trigger är en event som du vill skall inträffa vid ett speciellt tillfälle, under speciella premisser. T.ex. kanske du vill kontrollera en viss tabells högsta värde efter en INSERT eller UPDATE och sedan göra någonting speciellt ifall det värdet över-/understiger ett annat värde. 

Triggers anses dock inte alltid vara optimala för en applikations struktur, då de ger en ganska dålig överblick på vad som händer och framförallt; när det händer.

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

## #3 — pellesvenne, 2004-09-08T08:11Z

okej! om jag tex vill göra en count funktion som låter databasen räkna antal online i en procedure som automatisk exekveras vad ska jag då använda mig utav?

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

## #4 — @nders, 2004-09-08T08:12Z

Vad menar du med automatiskt exekveras? Vad ska trigga exekveringen? Och vad ska du göra med värdet du får ut?

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

## #5 — pellesvenne, 2004-09-08T08:23Z

istället för att man ska selecta antal online från en tabell hela tiden så kan man låta databasen räkna det själv utan att anropa det sedan skriver man ut det med ett enkelt kommando. Jag har för mig att oracle har den funktionen?

när anropas triggers\`? och views? fungerar en view som en stored procedure?

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

## #6 — OveRRidE, 2004-09-08T08:47Z

> **pellesvenne skrev:**
>
> istället för att man ska selecta antal online från en tabell hela tiden så kan man låta databasen räkna det själv utan att anropa det sedan skriver man ut det med ett enkelt kommando. Jag har för mig att oracle har den funktionen?

Nja, en vy kan ju ordna detta åt dig, men hur mycket prestanda det ger dig, det vet jag inte. Smidighet däremot, det ger det. 

> när anropas triggers\`? och views? fungerar en view som en stored procedure?

Triggers anropas när du vill, i stort sett. Views anropar du precis som en vanlig tabell. Du kan anropa views i stored procedures, men de är inte samma sak. 

Se på en vy som en tabell, fast som skapas när du frågar efter den (i sin SQL).

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

## #7 — LarsG, 2004-09-08T18:57Z

> om jag tex vill göra en count funktion som låter databasen räkna antal online i en procedure som automatisk exekveras vad ska jag då använda mig utav?

Triggers.  Använd en tabell för att lagra antalet

(  countTable

tableName records
\-------------- ---------

)

```
create trigger nd after delete on 
<tabellSomDuVillVetaAntalPosterI>
referencing old table as nisse
begin atomic
      declare c,a int;
      set c = (select count(*) from nisse);
      update countTable
       set records = records - c
        where tableName = '<tabellSomDuVillVetaAntalPosterI>'
       get diagnostics a = row_count;
       if a = 0 then
          insert into countTable values(
'<tabellSomDuVillVetaAntalPosterI>',c)
end
```

Och så likadant (fast tvärtom) för insert.

I stället för att att göra 

```
select count(*) from <tabellSomDuVillVetaAntalPosterI>
```

så gör du

```
select * 
from countTable 
where tableName = '<tabellSomDuVillVetaAntalPosterI>'
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/111081-triggers-views
