2013-02-10 109 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