このコードを書くより効率的な方法はありますか?または少ないコードで?SQL Serverテーブル内のすべての行をすばやく更新する方法
SELECT *
INTO #Temp
FROM testtemplate
Declare @id INT
Declare @name VARCHAR(127)
WHILE (SELECT Count(*) FROM #Temp) > 0
BEGIN
SELECT TOP 1 @id = testtemplateid FROM #Temp
SELECT TOP 1 @name = name FROM #Temp
UPDATE testtemplate
SET testtemplate.vendortestcode = (SELECT test_code FROM test_code_lookup WHERE test_name = @name)
WHERE testtemplateid = @id
--finish processing
DELETE #Temp Where testtemplateid = @id
END
DROP TABLE #Temp
はhttp://stackoverflow.com/questions/1293330/how-can-i-do-an-update-statement-with-join-in-sqlを参照してくださいJoeは正しいですが(+1)(そして私が入力したよりもはるかに速いです!) – dash