我有兩個表,第一部分概括的結構中,可以迭代第二的結構:插入表的另一個表的一部分
table1 (id, i, j, k, a, b, c, x, y, z) -- requests
table2 (id, a, b, c, d) -- essential elements/bank subjects
我需要從table2
與插入table1
一個記錄給定ID。 這樣做的最佳方法是什麼?
我有兩個想法:
1:
DECLARE @a type, @b type, @c type
SELECT @a = a, @b = b, @c = c, FROM table2 WHERE id = @id
INSERT INTO table1 (i, j, k, a, b, c, x, y, z)
VALUES (@i, @j, @k, @a, @b, @c, @x, @y, @z)
2:
CREATE TABLE #result (a type, b type, c type)
SELECT a, b, c INTO #result FROM table2 WHERE id = @id
INSERT INTO table1 (i, j, k, a, b, c, x, y, z)
VALUES (@i, @j, @k,
(SELECT a FROM #result),
(SELECT b FROM #result),
(SELECT c FROM #result),
@x, @y, @z)
什麼其他方法確實存在?哪一個是最佳做法?
那些似乎是很好的方式來做到這一點,怎麼了? – rball 2009-07-06 22:03:57
我只想找到最好的一個。並瞭解這種選擇的原因。瞭解更多關於這個話題。 – abatishchev 2009-07-06 22:09:55