A execução de um comando INSERT com várias linhas provoca o seguinte erro no sql server 2005:
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near ','.
O camando executado foi o seguinte:
INSERT INTO [SPA].[dbo].[TipoRegisto](
[ID_TipoRegisto]
,[DesigRegisto])
VALUES (1,'Processo de Obras de Construção'),(2,'Alvarás Sanitários'),(3,'Licenças de Utilização')
A instrução com vários inserts dentro de um único comando dml descrito acima é para o SGBD mySQL.
Já no SQL Server 2005 não existe esta possibilidade. Você terá que repetir cada comando DML. O ganho de performance é grande quando utilizamos um insert dentro do outro no mySQL.
Devemos então substituír por vários inserts,
INSERT INTO [SPA].[dbo].[TipoRegisto](
[ID_TipoRegisto]
,[DesigRegisto])
VALUES (1,'Processo de Obras de Construção')
INSERT INTO [SPA].[dbo].[TipoRegisto](
[ID_TipoRegisto]
,[DesigRegisto])
VALUES (2,'Alvarás Sanitários')
INSERT INTO [SPA].[dbo].[TipoRegisto](
[ID_TipoRegisto]
,[DesigRegisto])
VALUES (3,'Licenças de Utilização')
No SQL SERVER 2008 o comando já funciona tal como no mysql.
PS: Não é necessário o ponto e virgula no SQL Server.
0 comentários :
Enviar um comentário