0
我正在嘗試使用遊標移動來創建一個包含與其之前的字段相同的所有部分的列。在示例Sql - 關於遊標和變量的問題
| column1 | column 2 |
| 1 | a |
| 2 | b |
| 3 | c |
would to go...
| column1 | column2 | column3 |
| 1 | a | b |
| 2 | b | c |
| 3 | c | NULL |
所以爲了做到這一點我使用光標和更新語句基於如下的最後一個fetch語句嘗試:
DECLARE myCursor1 CURSOR READ_ONLY
FOR
SELECT lname AS 'lnamerecoff'
FROM testingThis
ORDER BY lname
OPEN myCursor1
DECLARE @previous char(15)
DECLARE @new char(15)
SET @previous = FETCH NEXT FROM myCursor1
IF NOT EXISTS(SELECT * FROM sys.columns WHERE name = 'lnamerecoff'
AND object_id = OBJECT_ID('testingThis'))
ALTER TABLE testingThis ADD lnamerecoff int
WHILE @@FETCH_STATUS = 0
BEGIN
SET @new = FETCH NEXT FROM myCursor1
UPDATE testingThis
SET lnamerecoff = @new
SET @previous = @new
END
這是拋出一個語法錯誤靠近我的fetch語句。誰能幫我這個?謝謝!
LEAD和LAG函數會做了這個如此簡單:/ – 2010-10-11 17:41:38
這些都不是在SQL Server 2005提供,雖然,是嗎? – user416516 2010-10-11 17:48:13