Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
12.65 Mб
Скачать

4.3.6.2. Операции

Арифметические операции: + (сложение), - (вычитание), * (ум­но­же­ние), / (деление), % (остаток от деления).

Операция сцепления строк - + (знак плюс).

Операции сравнения: = (равенство), > (больше), < (меньше), >= (боль­­ше или равно), < =(меньше или равно), <>, != (не равно), !< (не мень­ше), !> (не больше).

Логические операции

Not (отрицание), And (И), Or (или);

x Between n And k ‑ возвращает истину, если n<=x<=k;

x {= |<>|!=|>|>= | !> | < | <= | !<} All|Any|Some (<запрос>) ‑ воз­вра­ща­ет исти­ну, если значение X соответствует запросу для всех/одной (Some) строки.

Пример

If 'Сидоров' != ALL (select fam From Сотрудники)

-- If 'Сидоров' !=Any (select fam From Сотрудники) - можно и так

Print 'Среди сотрудников нет Сидорова'

Else Print 'Среди сотрудников есть Сидоров'

x [Not] In (<запрос> | <выражение>, ...) ‑ воз­вра­ща­ет истину, если значение X [не] принадлежит запросу или одному из указанных выражений.

Exists (<запрос>) ‑ возвращает истину, если запрос не пустой.

x [Not] Like ‘<шаблон>’ [Escape <управляющий символ>] ‑ воз­вра­ща­ет ис­ти­ну, если значение X соответствует шаблону (образцу поиска).

В шаблоне могут быть следующие специальные символы:

% ‑ задает любую комбинацию символов (Fam Like ‘Иван%’);

_ - задает любой символ (Fam Like ‘ИВАН______’);

[[^]<строка>] ‑ задает [не] допустимые символы (Fam Like ‘[ИС]%’);

[[^]<начало>-<конец>] ‑ задает диапазон [не] допустимых символов.

Примеры

Fam Like ‘[A-Я]%’ - русскоязычные фамилии

Fam Like ‘[^A-Я]%’ ‑ не русскоязычные фамилии

4.3.6.3. Операторы

Присвоение одного/нескольких значений:

Set/Select <@имя переменной>=<выражение>

Пример. Set @A=14 Select @Fam=”Иванов”, @Imj=”Иван”

Вывод значения одной переменной: Print <выражение>.

Вывод нескольких значений в виде строк: Select <выражение> [, ...]

Пример. Select Top 3 * From Сотрудники --вывод первых трех строк

Составной оператор: Begin ... End

Оператор перехода: GoTo <метка> ... <метка:> ... .

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

Условный оператор: If <условие> <оператор> [Else <оператор>]

Оператор вывода сообщения: Raiserror (“<сообщение>”,16,10)

Оператор паузы Waitfor {Delayi’ | Timet’} - определение паузы длительностью I секунд (’00:00:45’) или до времени T (13:30:01).

Оператор (функция) выбора:

Case <выражение> -- исходное значение

When <значение 1> Then <результат 1> -- если выражение=значение 1

...

When <значение n> Then < результат n> -- если выражение=значение n

[Else <результат>] -- остальные варианты

End

Пример

Declare @A Int, @B Nvarchar (10) Set @A=2 -объявление переменных

Set @B=Case @A --оператор выбора варианта

When 1 Then “Один“ -- первый вариант

When 2 Then “Два“ -- первый вариант

Else “Много“ -- остальные варианты

End -- конец оператора выбора

Print @B -- вывод результата

Оператор цикла

While <условие> --если условие истинно, то цикл повторяется

Begin --начало цикла

... [Break] --выход из цикла

... [Continue] -переход на начало следующего повторения цикла

End --конец цикла

Открытие базы: Use <имя базы данных>.

Создание правила: Create Rule <имя правила> As @<условие>.

Назначение/отмена правила:

Sp_bindrule/Sp_unbindrule <имя>, ‘<табли­ца>.<столбец>’ [, Futureonly]. Futureonly - назначение применяется только к столбцам, которые будут созданы далее, а не для которых уже задан тип данных.

Удаление правил: Drop Rule <имя 1> [,<имя 2>]... .

Создание стандартного значения:

Create Default <имя константы> As <значение>.

Назначение/отмена стандартного значения:

Sp_bindefult/Sp_unbindefult <имя>,‘<табли­ца>.<имя столбца>’[,Futureonly]. Переименование правила, значения: Sp_rename <имя>,<новое имя>.

Удаление значения: Drop Default <имя 1> [,<имя 2>]... .