在Sybase ASE中插入多行

时间:2014-07-08 15:06:29

标签: sql sql-server database tsql sybase

(与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 ..

由于

4 个答案:

答案 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子句