У меня есть таблицаобновления столбца с помощью курсора, имеющих петли
| code | descd | slnum |
|------|-------|-------|
| 10 | a | 0 |
| 10 | b | 0 |
| 12 | c | 0 |
| 12 | d | 0 |
| 11 | e | 0 |
| 11 | f | 0 |
И я должен обновить столбец slnum, как это с помощью курсора, имеющие петли
| code | descd | slnum |
|------|-------|-------|
| 10 | a | 1 |
| 10 | b | 2 |
| 12 | c | 1 |
| 12 | d | 2 |
| 11 | e | 1 |
| 12 | f | 3 |
Как решить эту проблему? Я попытался, как это, но его не дает мне правильный вывод
DECLARE @value INT
DECLARE @s INT=1
DECLARE scursor CURSOR FOR
SELECT slnum
FROM trec
for update of slnum
OPEN scursor
FETCH NEXT FROM scursor
INTO @value
WHILE @@FETCH_STATUS = 0
BEGIN
if exists(select * from trec) -- missing
begin
update trec
set [email protected]
where current of scursor
select @[email protected]+1
end
else
begin
update trec
set [email protected]
where current of scursor
end
FETCH NEXT FROM scursor INTO @value
END
CLOSE scursor
DEALLOCATE scursor
должны использовать курсор, чтобы сделать это? Есть более легкое решение, не требующее курсора – Squirrel
, так что .. насколько большой ваш стол? – lordkain
да !! я хочу, чтобы курсор его домашней работы –