by
Jenner Maciejewsky
21. agosto 2007 05:45
Uma das novidades do Microsoft SQL Server 2008 é a possibilidade de inserir múltiplas linhas em uma única instrução Insert, diminuindo assim a quantidade de código digitado.
Veja exemplo.
>Considere uma tabela com estrutura:
| Tabela : Grupo | | |
| Campo | Tipo | |
| IDGrupo | BigInt | IDENTITY |
| Nome | Varchar(50) | |
| UF | Char(2) | |
Considere a necessidade de inserir os dados abaixo
| MS-BEL | PA |
| .NET Raptors | MG |
| Mutex | BA |
| MS-FOR | CE |
| MS_InfraRio | RJ |
No SQL Server 2005 para inserir dados nessa tabela você tinha que fazer assim:
Insert into Grupo(Nome, UF) Values('MS-BEL', 'PA')
Insert into Grupo(Nome, UF) Values('.NET Raptors', 'MG')
Insert into Grupo(Nome, UF) Values('MS-FOR', 'CE')
Insert into Grupo(Nome, UF) Values('MS_InfraRio', 'RJ')
Ou assim
Insert into Grupo
Select 'Codificando', 'SP'
Union All
Select '.NET Raptors', 'SP'
Union All
Select 'Code4LL', 'RJ'
Union All
Select 'Sof.Net', 'ES'
Union All
Select 'Build Brasil', 'SP'
Agora no Microsoft SQL Server 2008 é possível reduzir a quantidade de linhas no insert de múltiplos registros, veja exemplo:
Insert Into
Grupo(Nome, UF)
Values('MS-BEL', 'PA'), ('.NET Raptors', 'MG'), ('MS-FOR', 'CE'), ('MS_InfraRio', 'RJ')
Observe que é possível incluir vários Values para um único insert.
Download SQL Server 2008 CTP
Jenner Maciejewsky Rocha
MVP Visual Basic