Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Oracle - MS Server / OracleМП / Lab3 / Отчет.docx
Скачиваний:
43
Добавлен:
17.04.2018
Размер:
37.12 Кб
Скачать

Лабораторная работа №3 Контрольные вопросы

  1. На какие группы делятся однострочные функции языка SQL СУБД Oracle?

Однострочные функции могут появляться в предложениях SELECT, WHERE и ORDER BY команды SELECT. В качестве аргументов они могут принимать константы, заданные пользователем, значения переменных, имена столбцов таблицы БД или выражения, составленные с помощью операторов и функций.

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

  • числовые функции;

  • символьные функции;

  • функции для работы с датами;

  • функции преобразования.

  1. Какие функции относятся к системным переменным и для чего они предназна­чены?

Системные переменные - это переменные сессии 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. Перечислите числовые функции и укажите правила их использования.

Числовые функции принимают в качестве аргументов и возвращают в качестве результата числовые значения.

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 цифр слева от десятичной точки.

Соседние файлы в папке Lab3