
Лабораторная работа №3 Контрольные вопросы
-
На какие группы делятся однострочные функции языка SQL СУБД Oracle?
Однострочные функции могут появляться в предложениях SELECT, WHERE и ORDER BY команды SELECT. В качестве аргументов они могут принимать константы, заданные пользователем, значения переменных, имена столбцов таблицы БД или выражения, составленные с помощью операторов и функций.
Все однострочные функции, как правило, разбивают на несколько групп по типам данных их аргументов и возвращаемых значений. Выделяют:
-
числовые функции;
-
символьные функции;
-
функции для работы с датами;
-
функции преобразования.
-
Какие функции относятся к системным переменным и для чего они предназначены?
Системные переменные - это переменные сессии Oracle Forms. Как только вы запускаете приложение, вам становятся доступны все его переменные окружения, выполнения и внутреннего состояния. Системные переменные, их имена и типы не привязаны к какому-либо объекту конкретно, они лишь передают текущее состояние или значение объекта, поэтому системная переменная - это, скорее, ссылка на текущее состояние приложения, элемента или события. Практически все системные переменные имеют тип данных VARCHAR и поэтому могут возвращать различные типы данных, такие как число, дата, строка.
SYSTEM.BLOCK_STATUS - показывает статус блока, точнее, в каком режиме он находится: Enter_Query (ввода запроса), Insert(вставки), New (новой записи).
SYSTEM.CURRENT_BLOCK - возвращает имя текущего блока.
SYSTEM.CURRENT_DATETIME - возвращает системную дату.
SYSTEM.CURRENT_ITEM - возвращает имя (если это кнопка, то также возвращает имя, а не метку ) текущего элемента блока.
SYSTEM.CURRENT_FORM - возвращает имя текущей формы.
SYSTEM.CURRENT_VALUE - возвращает текущее значение поля.
SYSTEM.CURSOR_BLOCK - возвращает имя курсора блока.
SYSTEM.CURSOR_ITEM - возвращает курсор на текущий элемент блока в формате block_name.item_name.
SYSTEM.MODE - возвращает текущий режим форма запроса.
SYSTEM.MOUSE_BUTTON_PRESSED - возвращает значение состояния кнопки. Состояние TRUE означает, что кнопка мыши нажата.SYSTEM.MOUSE_BUTTON_SHIFT_STATE - возвращает состояние курсора на кнопке.
SYSTEM.MOUSE_X_POS - возвращает значение позиции курсора мыши на экране по X.
SYSTEM.MOUSE_Y_POS - возвращает значение позиции курсора мыши на экране по Y.
SYSTEM.RECORD_STATUS - эта переменная показывает, в каком режиме находится запись: CHANGED, INSERT, NEW, QUERY.
SYSTEM.SUPPRESS_WORKING - подавляет стандартные рабочие сообщения, если SYSTEM.SUPPRESS_WORKING:= TRUE.
SYSTEM.TRIGGER_BLOCK - возвращает курсор блока, когда текущий триггер инициализирован.
SYSTEM.TRIGGER_ITEM - возвращает курсор элемента блока, когда текущий триггер инициализирован.
SYSTEM.TRIGGER_RECORD - возвращает последовательный номер записи.
SYSTEM.CURSOR_RECORD - возвращает последовательный номер курсора записи.
SYSTEM.FORM_STATUS - ' CHANGED ', ' NEW ', ' QUERY '.
SYSTEM.LAST_QUERY - возвращает последний запрос.
SYSTEM.LAST_RECORD - возвращает TRUE, если достигнута последняя запись, и ' FALSE ', если наоборот.
ПРИМЕР:
В этом примере идет проверка значения элемента, и если оно больше заданного, то выполняется какое-либо действие.
:SYSTEM.CURRENT_VALUE
If :system.current_value>100 then
…
End if;
В этом примере показано, как с помощью системной переменной проверяется нажатие клавиши.
:SYSTEM.MOUSE_BUTTON_PRESSED
Declare
Btn_press Varchar2(21) := :System.Mouse_Button_Pressed ; Begin
If Btn_press = '1' Then
Message('Нажата левая кнопка' );
ElsIf Btn_press = '2' Then
Message('Нажата правая кнопка' );
Else
Message('Другая клавиша' );
End if ;
End ;
-
Перечислите числовые функции и укажите правила их использования.
Числовые функции принимают в качестве аргументов и возвращают в качестве результата числовые значения.
1) ABS(n) – Возвращает абсолютную величину n.
2) MOD (m, n) – Возвращает остаток от деления m на n. Если n=0, возвращает m;
3) WER (m, n) – Возвращает m в степени n. Основание m и степень n могут быть любыми числами, но если m отрицательно, то n должно быть целым.
4) ROUND (m[, n]) – Возвращает m, округленное до n позиций после десятичной точки; если n опущено, то до целого, если n отрицательно, округляется целая часть числа. n должно быть целым.
5) SQRT(n) – Возвращает квадратный корень из n. n должно быть неотрицательным.
6) TRUNC (m[, n]) – Возвращает m, усеченное до n цифр после десятичной точки. Если n опущено, усечение выполняется до целого. n может быть отрицательным, что приводит к усечению (обнулению) n цифр слева от десятичной точки.