A inserir várias linhas no ASE da Base da Sybase

(pergunta semelhante relacionada com o servidor SQL: Então, Link)

eu sei que no SQL Server 2008 ou acima, você pode inserir várias linhas fazendo o seguinte:

INSERT INTO MyTable (Name, ID)
VALUES ('First',1), ('Second',2), ('Third',3)

No entanto, parece que esta sintaxe não funciona na Sybase Adaptative Server Enterprise, uma vez que isso me dá um erro..

Alguém sabe a sintaxe na Sybase que atinge a mesma coisa?

o Sybase ASE baseia-se no Transact SQL..

Obrigado.
Author: Community, 2014-07-08

3 answers

A Sybase não tem sintaxe de inserção como servidor SQL. O que há de errado com o método showed below classic?

INSERT INTO MyTable (Name, ID) VALUES ('First',1)
INSERT INTO MyTable (Name, ID) VALUES ('Second',2)
INSERT INTO MyTable (Name, ID) VALUES ('Third',3)
go
 7
Author: Parado, 2014-07-09 08:32:36

Tenta isto:

INSERT INTO MyTable (Name, ID)
Select 'First',1
Union All 
Select 'Second',2
Union All
Select 'Third',3
Sei que isto funciona em versões mais antigas do servidor SQL, e suspeito que irá funcionar com o sybase.
 2
Author: G Mastros, 2014-07-08 15:09:41

Parece que essa sintaxe não é válida no ASE da Sybase, mas como sugerido no post ligado para que você possa obter o mesmo usando UNION ALL como

INSERT INTO MyTable (Name, ID)
SELECT 'First',1
UNION ALL
SELECT 'Second',2
UNION ALL
SELECT 'Third',3
 2
Author: Rahul, 2014-07-08 15:12:05