SweyMedlem sedan apr. 20003 971 inlägg Ännu en sak som jag tvekar på att det går. :)
Anta att jag har en tabell med poster och en tabell med trådar. Nu vill jag ga bort alla trådar som hör till en viss grupp och samtidigt ta bort alla poster som hör till tråden.
Förenklad exempel
posts: PostID, PostThreadID
threads: ThreadID, ThreadGroupID
Nu vill jag ta bort alla trådar där GroupID är 2 och samtidigt ta bort alla poster tillhörande trådarna.
SQL-frågan skulel kunna se ut so här:
DELETE FROM threads, posts WHERE ThreadGroupID = 2 AND PostThreadID = ThreadID;
Är detta möjligt eller för komplicerat för SQL?
Använder mySQL. Tack...
------------------
- Swey
Bäst, vackrast, styggast...
emissionMedlem sedan dec. 19996 721 inlägg Nej, en DELETE kan bara verka på en tabell åt gången.
I mer avancerade SQL-servrar löser man ofta sådant med Triggers (on delete...) eller stored procedures.
SweyMedlem sedan apr. 20003 971 inlägg Finns det "stored procedures" i mySQL?
------------------
- Swey
Bäst, vackrast, styggast...
emissionMedlem sedan dec. 19996 721 inlägg Nej, tyvärr. Det kommer, men är inte så högt prioriterat.
SweyMedlem sedan apr. 20003 971 inlägg Men det finns i MS SQL? Kanske är bättre att byta till det?
------------------
- Swey
Bäst, vackrast, styggast...
emissionMedlem sedan dec. 19996 721 inlägg Ja, man skulle kunna säga att stored procedures är själva huvudpoängen i de stora databaserna. Målet är ofta att kapsla in logiken i databasen, och inte i ASP-skript och dylikt. Det blir lättare att underhålla, och faktiskt också snabbare, eftersom procedurerna kompileras.
MS SQL har m.a.o. stored procedures.
Byta till MS SQL? En ren kostnadsfråga. Gratis är det verkligen inte.
PostgreSQL 7.0 stödjer triggers och referentiell integritet så det kan ju vara ett alternativ.
Sen finns ju Interbase, som precis släppts som Open Source, den borde nog också stödja såna funktioner.
------------------
Murphy's Law of Thermodynamics:
Things get worse under pressure.