Avatar billede hulla Novice
17. oktober 2002 - 09:41 Der er 6 kommentarer og
3 løsninger

Delete from DB

Er det muligt at slette alle poster fra flere forskellige tabeller i EN sql sætning?

altså f.eks. "DELETE FROM Main, Inv WHERE Number = 2"

Jeg ved at den der ikke virker, men det er det jeg gerne vil.
Er der en vej udenom?
Avatar billede bennytordrup Nybegynder
17. oktober 2002 - 09:45 #1
Du er nok nødt til at dele den op i to og evt. køre under transaction:

begin transaction
delete from main where number=2
delete from inv where number=2
commit transaction
Avatar billede pierrehusted Nybegynder
17. oktober 2002 - 09:45 #2
Hvorfor vil du kun bruge een SQL sætning ??
Avatar billede hulla Novice
17. oktober 2002 - 10:19 #3
Jeg gør som benny skriver i forvejen, men fordi jeg har en klasse som tager sig af al Db handling, så er det mange gange jeg skal kalde klassen og den samme metode i klassen.

Jeg har 7 tabeller som skal slettes hver gang der trykkes på Delete og det giver 21 kodelinjer og det kunne (måske) være 3 linjer  :-)
Avatar billede bennytordrup Nybegynder
17. oktober 2002 - 10:21 #4
Hvis det konsekvent er de samme tabeller, der skal slettes, hvorfor så ikke bygge sletningen ind i en stored procedure?
Avatar billede arne_v Ekspert
17. oktober 2002 - 10:22 #5
Hvorfor ikke lave en stored procedure der sletter fra
X tabeller udfra argument ?
Avatar billede hulla Novice
17. oktober 2002 - 13:15 #6
stored procedure ???????????????????????
Avatar billede bennytordrup Nybegynder
17. oktober 2002 - 13:17 #7
En stored procedure er lavet på SQL Serveren, kører på SQL Serveren og minimerer trafikken over netværk.

Den performer bedre end en stribe SQL Statements, der bliver eksekveret fra f.eks. VB
Avatar billede masc Nybegynder
18. oktober 2002 - 16:35 #8
Hva bare med at bruge en "Truncate Table TableName"
Kan du også bruge i en stored procedure som denne...

Create Procedure sp_XXXX
AS

SET NOCOUNT ON

Truncate Table TableName1
Truncate Table TableName2
Truncate Table TableName3
...

GO
Avatar billede mrfux Nybegynder
19. juni 2003 - 14:07 #9
Hvis du har fundet ud af om det kan lade sig gøre med en sætning, kan du så ikke lige poste løsningen?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester