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)
4

1 回答 1

1

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

以下应该可以正常工作:

INSERT INTO MyTable (Key, LinksTo) 
SELECT @Key, LinksTo 
FROM tempLinks
于 2013-02-10T14:11:17.437 回答