webForumDet fria alternativet

Flera inserts med samma execute

Databaser & SQL

4 svar · 181 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#1

Hej!

Om jag ska sätta in i Tabellen TblCoverd värden ifrån en array (uppsplittad, loopar igenom och bygger en sql insert). Låt oss säga att jag ska göra följande inserts

INTO TerritoriesLink (Fk_TerrId,Fk_CoverId) VALUES (89,12)

INSERT INTO TerritoriesLink (Fk_TerrId,Fk_CoverId) VALUES (94,12)

INSERT INTO TerritoriesLink (Fk_TerrId,Fk_CoverId) VALUES (8,12)

INSERT INTO TerritoriesLink (Fk_TerrId,Fk_CoverId) VALUES (26,12)

Och jag vill inserta alla dessa 4:a med en och samma Cn.Exeucte(strSQL), hur skriver man då för bäst prestanda, jag kan ju iof. lägga inserten inne i loopen som tar fram dessa men prestandan måste ju försämras mycket då.

Tack!

Medlem sedan dec. 2000503 inlägg
#2

Om jag har fattat det rätt så beror det på vilken databas du kör med, i SQL server är det bara att använda ; mellan inserterna.

Medlem sedan dec. 19996 522 inlägg
#3

Jo det är sqlsever 2000...danke

Medlem sedan dec. 19996 522 inlägg
#4

Då kanske någon kan svara på detta..

Är det någon skillnad på följande 2 sql sattser

1.

INSERT INTO TerritoriesLink (Fk_TerrId,Fk_CoverId) VALUES (94,12);INSERT INTO TerritoriesLink (Fk_TerrId,Fk_CoverId) VALUES (8,12);INSERT INTO TerritoriesLink (Fk_TerrId,Fk_CoverId) VALUES (26,12)

2.

INSERT INTO TerritoriesLink (Fk_TerrId,Fk_CoverId) VALUES (94,12);INSERT INTO TerritoriesLink (Fk_TerrId,Fk_CoverId) VALUES (8,12);INSERT INTO TerritoriesLink (Fk_TerrId,Fk_CoverId) VALUES (26,12);

Alltså spelar det någon roll om man har med ett extra ; efter sissta sql sattsen ?

Tacksam

Medlem sedan dec. 200012 464 inlägg
#5

Nej, det är egalt

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)