Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ SQL\T-SQL ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


T-SQL: Управление, использование и циклы в курсорах T-SQL в MS SQL Server


Управление, использование, выборка циклом в курсорах T-SQL MS SQL Server

Можно еще почитать на https://technet.microsoft.com/ru-ru/library/ms190028(v=sql.105).aspx

Команды управления курсорами:

DECLARE – создание курсора
OPEN – открытие\заполнение данными курсора
FETCH – выборка\изменение строк курсора
CLOSE – закрытие курсора
DEALLOCATE – удаление курсора

Примеры делались на SQL Server 2012

USE test;

--Создаем тестовую таблицу и заполняем данными
CREATE TABLE [dbo].[test](
    id INT,
    name VARCHAR(30),
    lastname VARCHAR(30)
)

INSERT INTO [dbo].[test] VALUES(1,'Name1','lastanme1')
INSERT INTO [dbo].[test] VALUES(2,'Name2','lastanme2')
INSERT INTO [dbo].[test] VALUES(3,'Name3','lastanme3')

--Переменные для работы
DECLARE @id INT
DECLARE @name VARCHAR(30), @lastname VARCHAR(30)

--Создадим курсор
DECLARE cur CURSOR FOR 
SELECT id, name, lastname FROM [dbo].[test]

--Откроем курсор
OPEN cur

--Выборка данных первой строки
FETCH NEXT FROM cur INTO @id, @name, @lastname

--Пока есть данные в курсоре - выборка циклом
WHILE @@FETCH_STATUS = 0
BEGIN 
    SELECT @id, @name, @lastname
    --Выборка следующей строки
    FETCH NEXT FROM cur INTO @id, @name, @lastname
END

--Закрываем курсор
CLOSE cur
--Уничтожаем курсор
DEALLOCATE cur

DROP TABLE [dbo].[test]


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект