2013-02-10 54 views
0

我有一个SQL Server 2008数据库。数据库有一个存储过程,它接收两个字符串作为参数。一个参数用于构建临时表,通常只有1或2行,但理论上可能有更多。从表中插入多行到表

对于临时表中的每一行,我需要将一行插入到另一个由另一个参数和临时表内容组成的表中。有没有办法做到这一点没有光标?

我已经试过以下变化:

伪代码:

procedure InsertLinks(@Key varchar(36), @LinkKey varchar(36) 

tempLinks Table = getLinks(@LinkKey) 

Insert into MyTable (Key, LinksTo) Values (@Key, Select LinksTo From tempLinks) 

回答

1

VALUES子句搞砸了 - 你有一个值逗号表。这是无效的。

下应该只是罚款:

INSERT INTO MyTable (Key, LinksTo) 
SELECT @Key, LinksTo 
FROM tempLinks 
+0

谢谢!应该看到,我已经完成了类似更新查询。不知道为什么我会因此而抽筋。 – 2013-02-10 18:21:25