русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Операторы управления потоком Transact –SQL


Дата добавления: 2015-07-09; просмотров: 2452; Нарушение авторских прав


Для написания скриптов и программирования функций и хранимых процедур используются операторы управления потоком Transact –SQL, которые не являются частью языка запросов SQL, а служат для управления выполнением хранимых процедур:

1. BEGIN…END – для создания блока последовательных команд; требуется для операторов типа WHILE.

2. IF…ELSE – для определения условия выбора команды или блока.

3. WHILE …BREAK…CONTINUE – для организации и управления циклически выполняемых команд.

3. Declare – создает локальную переменную;

5. Execute – выполняет хранимую процедуру

6. Goto – безусловный переход к метке;

7. Return – прекращает выполнение процедуры;

8. Break – выход из цикла WHILE.

 

1. BEGIN…END

Синтаксис:

BEGIN

Блок операторов (один или более операторов (иснтр WHILE укций))

END

Используются как операторные скобки для выделенияединого блока операторов, который может использоваться, например, в условном операторе. Последовательность операторов, заключенная в скобки beginи end, называется операторным блоком.

if (select avg(Цена) from Товары) < 1000

begin

update Товары

set Цена = Цена* 2

end

Операторный блок begin…endможно включать внутрь другого операторного блока begin…end.

2. IF…ELSE

Управляющая конструкция IF...ELSE используется для наложения условий, определяющих, какие операторы T-SQL нужно выполнить. Для IF...ELSE используется следующий синтаксис:

IF Булево_выражение

Оператор_T-SQL | блок_операторов

[ELSE[if булевское_выражение]Оператор_T-SQL | блок_операторов]

Булево выражение это выражение, значением которого является истина (TRUE) или ложь (FALSE). Оно может состоять из названий табличных столбцов и констант, соединенных арифметическими или булевскими операциями, или подзапросов, если эти подзапросы возвращают одно (скалярное) значение. Если булевское выражение содержит оператор выбора select, то этот оператор должен быть заключен в скобки и должен возвращать скалярное (невекторное) значение. Ключевое слово if(если), независимо от своего дополнения else(иначе), служит для указания условия, которое определяет нужно ли выполнять следующий оператор. Следующий оператор выполняется, если это условие истинно, т.е. если его значение равно TRUE (истина).



Ключевое слово elseслужит для указания альтернативного SQL оператора, который выполняется, если условие, указанное в конструкции ifоказалось ложным (FALSE).

3. WHILE …BREAK…CONTINUE

Команда while(до тех пор, пока) используется для циклического (повторного) выполнения оператора или блока операторов. Операторы выполнятся до тех пор, пока истинно указанное условие.

Эта команда имеет следующий вид:

while булевское_выражение

оператор

 

Следующий скрипт объявляет переменную целого типа, задаёт ей значение и выполняет цикл используя её в качестве счётчика.

DECLARE @Counter INT

set @Counter = 10

while @Counter > 0

begin

SET @Counter = @Counter - 1

end

В следующем примере операторы selectи updateбудут выполняться в цикле, пока средняя цена книги будет меньше 300:

while (select avg(Цена) from Книги) < 300

begin

select НомерКниги, Цена

from Книги

where Цена > 150

update Книги

set Цена = Цена* 2

end

Команды break(прервать) и continue(продолжить) управляют последовательностью выполнения операторов внутри цикла while. Команда breakпрекращает выполнение цикла. После этого управление передается оператору, следующему за ключевым словом end, которое указывает на конец цикла. Команда continue передает управление на начало цикла, поэтому все операторы, расположенные внутри цикла и следующие за этой командой, выполняться не будут. Командам breakи continueчасто предшествует проверка некоторого условия.

Синтаксис команд breakи continueимеет следующий вид:

while булевское_выражение

begin

оператор

….

[оператор]

break

[оператор]

….

continue

….

[оператор]

end

Далее приводится пример использования команд while, break, continueи if, в котором производится действие, обратное инфляционному действию предыдущего примера. До тех пор пока средняя цена книги остается большей 300, все цены уменьшаются наполовину. Затем выбирается максимальная цена. Если она меньше 600, то происходит выход из цикла, в противном случае цикл выполняется снова. Команда continueнедопустит выполнение оператора вывода (печати) print, если средняя цена меньше 300. После окончания цикла whileв этом примере выводится список книг, чья цена превышает 300 рублей .

while (select avg(Цена) from Книги) > 300

begin

update Книги

set Цена = Цена / 2

if (select max(Цена) from Книги) <600

break

else

if (select avg(Цена) from Книги) >300

continue

print "Средняя цена от 300 до 600 рублей"

end

select КодКниги, Цена from Книги

where Цена > 300

 



<== предыдущая лекция | следующая лекция ==>
Управляющие конструкции | Геометрическое решение ЗЛП


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.072 сек.