关于sql:在Sybase ASE中插入多行

Inserting Multiple Rows in Sybase ASE

(与SQL Server相关的类似问题:SO Link)

我知道在Sql Server 2008或更高版本中,您可以插入多行执行以下操作:

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

但是,似乎此语法在Sybase Adaptive Server Enterprise中不起作用,因为这会给我一个错误。

任何人都知道Sybase中的语法实现了同样的目的吗?

Sybase ASE基于Transact SQL ..

谢谢


Sybase没有像SQL Server那样的插入语法。 显示以下经典方法有什么问题?

1
2
3
4
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


看起来该语法在Sybase ASE中无效,但是如链接的SO帖子中所建议的那样,您可以使用UNION ALL来获得相同的语法

1
2
3
4
5
6
INSERT INTO MyTable (Name, ID)
SELECT 'First',1
UNION ALL
SELECT 'Second',2
UNION ALL
SELECT 'Third',3


试试这个:

1
2
3
4
5
6
INSERT INTO MyTable (Name, ID)
SELECT 'First',1
UNION ALL
SELECT 'Second',2
UNION ALL
SELECT 'Third',3

我知道这适用于旧版本的SQL服务器,并怀疑它可以与sybase一起使用。


此示例的SQL Server中的语法在Sybase中不起作用。 要么使用单个语句,要么使用UNION ALL子句