2014-07-08 164 views
4

(类似问题涉及到SQL Server:SO Link插入在Sybase ASE多行

我知道在SQL Server 2008或以上,你可以插入多行执行以下操作:

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

然而,看起来这种语法在Sybase Adaptive Server Enterprise中不起作用,因为这给了我一个错误..

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

的Sybase ASE是基于事务处理SQL ..

感谢

回答

2

试试这个:

INSERT INTO MyTable (Name, ID) 
Select 'First',1 
Union All 
Select 'Second',2 
Union All 
Select 'Third',3 

我知道这工作在旧版本的SQL Server,并怀疑它会与合作SYBASE。

+0

这个工作,并且它可以与参数化的值一起工作:... select?,? union all ... – Joel

2

貌似这种语法是不是在Sybase ASE的有效,但在建议的链接SO后你可以使用UNION ALL同样喜欢

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

的Sybase doen't有INSERT语法的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 
+0

什么是“错误”或者更好的不方便是你必须不断重复INSERT INTO MyTable(Name,ID)VALUES' – broetchen

+0

这对我的Sybase版本不起作用。 – Joel

+0

@Joel你的Sybase版本是什么? – Parado