(与SQL Server相关的类似问题:SO Link)
我知道在Sql Server 2008或更高版本中,您可以插入多行执行以下操作:
INSERT INTO MyTable (Name, ID)
VALUES ('First',1), ('Second',2), ('Third',3)
但是,似乎此语法在Sybase Adaptive Server Enterprise中不起作用,因为这会给我一个错误。
任何人都知道Sybase中的语法实现了同样的目的吗?
Sybase ASE基于Transact SQL ..
由于
答案 0 :(得分:8)
Sybase不会将插入语法作为SQL Server。在经典方法下面显示了什么错误?
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
答案 1 :(得分:2)
试试这个:
INSERT INTO MyTable (Name, ID)
Select 'First',1
Union All
Select 'Second',2
Union All
Select 'Third',3
我知道这适用于旧版本的SQL Server,并怀疑它可以与sybase一起使用。
答案 2 :(得分:2)
看起来这种语法在Sybase ASE中无效,但是如链接的SO帖子中所建议的那样,您可以使用UNION ALL
来获取相同的内容
INSERT INTO MyTable (Name, ID)
SELECT 'First',1
UNION ALL
SELECT 'Second',2
UNION ALL
SELECT 'Third',3
答案 3 :(得分:0)
此示例中SQL Server中的语法在Sybase中不起作用。要么使用单个语句,要么使用UNION ALL子句