Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с курсором 
:(
    Опции темы
ДобренькийПапаша
Дата 28.7.2010, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Я тренеруюсь с книжкой Флёнова (местами книга просто ужас   smile)

Есть такой код:
Код

USE FlenovSQLBook
GO
DECLARE cursor_goods CURSOR
SCROLL
FOR
SELECT *
FROM Товары

OPEN cursor_goods

DECLARE @date DATETIME
DECLARE @name VARCHAR(50)
DECLARE @cost FLOAT
DECLARE @number INT

FETCH NEXT
FROM cursor_goods
INTO @date, @name, @cost, @number

WHILE @@FETCH_STATUS = 0
BEGIN
    PRINT @name
    FETCH NEXT
    FROM cursor_goods
    INTO @date, @name, @cost, @number
END
CLOSE cursor_goods
DEALLOCATE cursor_goods
GO


Если код оставить таким, то выводятся все продукты из таблицы Товары. В окне вывода нет пронумерованных строк, вывод простой без нумерации. Если убрать 25-ю строку, то вывод тоже корректный, выводятся все продукты из таблицы товаров, но в окне вывода появляются строки, при этом каждая строка в рамке и каждая же имеет номер 1.

Вопрос №1: почему если убрать 25-ю строку, то вывод остаётся корректным? (Мы же нигде не записываем новое значение в переменную @name). И почему выводятся обрамлённые строки в окне вывода с номерами 1?
Вопрос №2:Зачем перед циклом мы сначала делаем один сдвиг?
Вопрос №3:При объявлении курсора есть параметр FOR UPDATE. Зачем он нужен?
Вопрос №4:Где можно почитать про курсоры подробнее? (Чем отличается статический от динамического например и так далее?)

Это сообщение отредактировал(а) ДобренькийПапаша - 28.7.2010, 10:37


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0592 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.