Attualità e Information Technology

August 6, 2007

SQL Server e gli insert multipli

Filed under: IT, SQL

Segnalo una interessante novità del nuovo SQL Server 2008 che uscirà il prossimo anno: la possibilità di fare più insert con una sola istruzione.

Esempio che dice più di mille parole:

INSERT INTO tab (campoA, campoB, campoC)
VALUES (<val1>, <val2>, <val3>),
(<val4>, <val5>, <val6>),
(<val7>, <val8>, <val9>)

Per inciso, non vorrei sbagliarmi, ma mi pare che questa sintassi sia già supportata da MySQL, che come in diverse circostanze (vedi caso LIMIT per il paging lato server) si dimostra più comodo nella sintassi.

In realtà una cosa simile si può fare anche con l’attuale versione di SQL Server, basta sfruttare UNION ALL.

Anche in questo caso un esempio veloce:

INSERT INTO tab (campoA, campoB, campoC)
SELECT <val1>, <val2>, <val3>
UNION ALL
SELECT <val4>, <val5>, <val6>
UNION ALL
SELECT <val7>, <val8>, <val9>

Anche qui parlo senza aver fatto molti test, ma almeno a naso dovrebbe essere più performante, portato ovviamente su grandi dimensioni, che non fare tante singole insert.

Precisazione utile. Differenza tra UNION e UNION ALL: la prima elimina i doppioni (in pratica fa una distinct), la seconda no.

Technorati tags , , ,

AddThis Social Bookmark Button

Windows XP music

Filed under: Generale

Simpatica “sinfonia” realizzata con i suoni di Windows XP. Cercando mi pare si trovi anche quella con i suoni di Vista, ma potrei confondermi.


Technorati tags , , ,

AddThis Social Bookmark Button
   

Get free blog up and running in minutes with Blogsome | Theme designs available here