webForumDet fria alternativet
Logga in / Bli medlem

Transaktion?

Databaser & SQL

3 svar · 173 visningar · startad av Poppe25

Medlem sedan apr. 2002255 inlägg
Trådstart#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?

Medlem sedan dec. 200012 464 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.

Medlem sedan apr. 2002255 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?

Medlem sedan dec. 200012 464 inlägg
#4

Mysql har inte stöd för procedurer.

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

263 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)