Циклы WHILE

Средний уровень SQL Server

Ginger Grant

Instructor

Переменные в T-SQL

  • Переменные используются для хранения значений

    DECLARE @variablename data_type

    • Имя должно начинаться с символа @
Средний уровень SQL Server

Типы данных переменных в T-SQL

  • VARCHAR(n): текстовое поле переменной длины
  • INT: целые числа от -2 147 483 647 до +2 147 483 647
  • DECIMAL(p ,s) или NUMERIC(p ,s):
    • p: общее количество хранимых десятичных цифр — до и после десятичной точки
    • s: количество десятичных цифр, хранимых после десятичной точки
Средний уровень SQL Server

Объявление переменных в T-SQL

-- Объявляем Snack как VARCHAR длиной 10
DECLARE @Snack VARCHAR(10)
Средний уровень SQL Server

Присвоение значений переменным

-- Объявляем переменную
DECLARE @Snack VARCHAR(10)
-- Присваиваем значение через SET
SET @Snack = 'Cookies'
-- Выводим значение
SELECT @Snack
+--------------------+ 
|(No column name)    | 
+--------------------+
|Cookies             |
+--------------------+
-- Объявляем переменную
DECLARE @Snack VARCHAR(10)
-- Присваиваем значение через SELECT
SELECT @Snack = 'Candy'
-- Выводим значение
SELECT @Snack
+--------------------+ 
|(No column name)    | 
+--------------------+
|Candy               |
+--------------------+
Средний уровень SQL Server

Циклы WHILE

  • WHILE проверяет условие — истинно оно или ложно

  • После WHILE должна идти строка с ключевым словом BEGIN

  • Далее — код, который выполняется, пока условие цикла WHILE истинно

  • После кода добавьте ключевое слово END

  • BREAK завершает выполнение цикла

  • CONTINUE продолжает выполнение цикла

Средний уровень SQL Server

Цикл WHILE в T-SQL (I)

-- Объявляем ctr как целое число
DECLARE @ctr INT
-- Присваиваем ctr значение 1
SET @ctr = 1

-- Задаём условие цикла WHILE WHILE @ctr < 10
-- Начало кода внутри цикла WHILE BEGIN -- Увеличиваем значение @ctr SET @ctr = @ctr + 1 -- Конец цикла WHILE END -- Выводим значение после завершения цикла SELECT @ctr
+--------------------+ 
|(No column name)    | 
+--------------------+
|10                  |
+--------------------+
Средний уровень SQL Server

Цикл WHILE в T-SQL (II)

-- Объявляем ctr как целое число
DECLARE @ctr INT
-- Присваиваем ctr значение 1
SET @ctr = 1
-- Задаём условие цикла WHILE
WHILE @ctr < 10
    -- Начало кода внутри цикла WHILE
    BEGIN
       -- Увеличиваем значение @ctr
       SET @ctr = @ctr + 1
       -- Проверяем, равно ли ctr 4
       IF @ctr = 4
           -- Если ctr равно 4, цикл прерывается
           BREAK
       -- Конец цикла WHILE
    END
Средний уровень SQL Server

Давайте потренируемся!

Средний уровень SQL Server

Preparing Video For Download...