Помогите с T-SQL разобраться

Timi

Не могу разобраться с курсорами
Кто подскажет, почему ругается? Говорит, что invalid column name, хотя она есть.


DECLARE cur_getObjectType CURSOR FOR SELECT * FROM OBJECT_TYPE ORDER BY SORT_VALUE
...
OPEN cur_getObjectType

FETCH NEXT FROM cur_getObjectType
WHILE (@@FETCH_STATUS <> -1)
BEGIN

SET @tmp1=@selFormatTreeSort;
SET @tmp1=REPLACE(@tmp1,'%OBJ_TABLE%',Ref_TableName); // Ошибка - не знает такой колонки
FETCH NEXT FROM cur_getObjectType
END
CLOSE cur_getObjectType
DEALLOCATE cur_getObjectType

bastii

там по идее у fetch есть еще into, где нужно указать переменные, которые получат значения столбцов

bastii

как-то так, см идею
 
DECLARE cur_getObjectType CURSOR FOR SELECT * FROM OBJECT_TYPE ORDER BY SORT_VALUE
...
OPEN cur_getObjectType

FETCH NEXT FROM cur_getObjectType INTO @Ref_TableName
WHILE (@@FETCH_STATUS <> -1)
BEGIN

SET @tmp1=@selFormatTreeSort;
SET @tmp1=REPLACE(@tmp1,'%OBJ_TABLE%',@Ref_TableName); // Ошибка - не знает такой колонки
FETCH NEXT FROM cur_getObjectType INTO @Ref_TableName
END
CLOSE cur_getObjectType
DEALLOCATE cur_getObjectType

Timi

ну да, можно так, но можно ж как-то и по названиям столбцов ориентироваться

bastii

хз, не знаю про такое — чем вариант с переменными не нравится?

Timi

с переменными ты прав - я,в конце концов, так и сделал...
Оставить комментарий
Имя или ник:
Комментарий: