webForumDet fria alternativet

Transaktion?

3 svar · 171 visningar · startad av Poppe25

Poppe25Medlem sedan apr. 2002278 inlägg
#1

Skulle någon kunna förklara vad en transaktion är för något?
Finns det någon bra sida som beskriver en sådan?

Undar också hur en procedur fungerar, hur man skriver sådana och vad de tjänar för funktion?

LarsGMedlem sedan dec. 200012 465 inlägg
#2

En transaktion är en eller flera operationer mot en databas som hanteras som en enhet. Antingen genomförs alla operationer eller ingen.

Normalt sett så utgör varje enskild fråga (insert/update/delete) en transaktion men med hjälp av kommandona start och commit/rollback kan man gruppera ihop flera operationer.

commit innebär att man avslutar en transaktion och genomför alla operationer. Rollback innebär att man avslutar men att ingen operation utförs.

Procedurer är kod som lagras i en databas och som utförs i databasen. Den kod som används har samma funktioner som ett vanligt programmeringsspråk, t.ex. variabelhantering, if-satser och loop-konstruktioner. Man kan även använda de flesta sql-satser direkt i koden.

Fördelarna med att använda procedurer är att frågorna kompileras och optimeras en gång, när proceduren skapas istället för varje gång de används. Om man använder en procedur så får man också mindre kommunikation melllan databas-servern och databasklienten.

Poppe25Medlem sedan apr. 2002278 inlägg
#3

Stort tack för det utförliga svaret. Har du eller någon annan tips på länk där det visas i kod hur man skriver transaktioner och procedurer, säg till ex MySQL?

LarsGMedlem sedan dec. 200012 465 inlägg
#4

Mysql har inte stöd för procedurer.

Transaktioner:
http://www.mysql.com/doc/en/COMMIT.html

279 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
125 ms — hämta statistik (db)
144 ms — hämta tråd, inlägg och bilagor (db)
152 ms — hämta forumlista (db)