É possível usar o SQLCMD no SQL Server 2008 para criar uma tabela e gerar dados e inserir na tabela, sem digitar manualmente a INSERT
instrução para cada linha?
Exemplo:
Suponha que haja 10 semanas (1, 2, 3 ... 10) e 2 horários (11h, 12h) e 5 locais (Sala 1, Sala 2 ... Sala 5). Assim, haverá um total de 10 x 2 x 5 = 100 linhas.
Então, é possível ter uma instrução SQL que gere essas 100 linhas quando dados os 3 parâmetros de dados (semana, horário e local)?
+--------------------------------+
| Week | Time | Venue |
+--------------------------------+
| 1 | 11 am | Room 1 |
| 1 | 12 pm | Room 1 |
| 1 | 11 am | Room 1 |
| |
| 10 | 12 pm | Room 5 |
+--------------------------------+
Você pode usar 3 expressões CTE para gerar os dados e, em seguida, produto cartesiano entre eles.
Tabela de teste:
Semanas:
Locais:
Horários:
Coloque-os todos juntos para fazer uma consulta de teste:
Converter em uma
INSERT
declaração: