从表中插入多行到表
问题描述:
我有一个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)
答
的VALUES
子句搞砸了 - 你有一个值逗号表。这是无效的。
下应该只是罚款:
INSERT INTO MyTable (Key, LinksTo)
SELECT @Key, LinksTo
FROM tempLinks
谢谢!应该看到,我已经完成了类似更新查询。不知道为什么我会因此而抽筋。 – 2013-02-10 18:21:25