使用位置光标

时间:2017-09-26 10:04:45

标签: sql sql-server

不太清楚如何解释这个但是在这里。

我有一个数据库,它在一个位置表中包含5个位置。让我们说One, two, three, four and five

我需要做的是更新另一个表TemplateNames,在描述后添加locationID(每个位置10行),但是,位置表和TeamplateNames表没有以任何方式链接。

到目前为止,我尝试过的方法如下:

CREATE TABLE #Temp
(
    LocationID int
)

SELECT LocationID
INTO #Temp
FROM From Location

DECLARE @ID int;

DECLARE Cursor cursor 

FOR 
SELECT DISTINCT LocationID
FROM #Temp

OPEN Cursor

FETCH NEXT FROM Cursor INTO @Id

WHILE @@FETCH_STATUS = 0
BEGIN

--Insert data?
    FETCH NEXT FROM Cursor INTO @Id
END

close Cursors;
deallocate  Cursor;
DROP TABLE #Temp;

目前的描述如下

IAmATemplate 

但输出需要

IAmATemplate - one(名称后面的locationID)

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你不必链接表格。如果你只是将表格相乘然后更新,那将会容易得多。我的意思是;

;WITH T AS(
 Select Description,LocationID FROM TemplateNames,Locations
)
Update T SET Description = Description + LocationID