русс | укр

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

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

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

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


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

Объявление переменных и констант


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


Переменные могут иметь тип данных SQL или тип данных PL/SQL.

Переменная объявляется в секциях объявлений блока PL/SQL, подпрограммы или пакета.

Для объявления переменной после ее идентификатора следует указывать любой доступный тип данных.

Объявление переменной в PL/SQL может иметь следующие формы:

var_name type;
var_name type := expr;
var_name type DEFAULT expr;
var_name type NOT NULL := expr;
var_name type_var%TYPE;
var_name type_var%TYPE := expr;
var_name user.table.type_col%TYPE;
var_name user.table.type_col%TYPE := expr;

Одновременно, при объявлении переменной, она может быть проинициализирована значением соответствующего типа. Выражение, находящееся справа от знака присваивания может использовать ранее объявленные и проинициализированные переменные или константы. PL/SQL требует, чтобы используемая ссылка была описана в программе выше места ее применения.

При объявлении переменной вместо оператора присваивания может указываться ключевое слово DEFAULT.

Объявляемая переменная может быть определена как NOT NULL. Такой переменной в дальнейшем нельзя присвоить значение NULL.

Переменным можно присваивать значения двумя способам, как с помощью оператора присваивания, так и как INTO-переменной, указываемой в запросе.

При объявлении константы после идентификатора должно быть указано ключевое слово CONSTANT, а после идентификатора типа - указан оператор присваивания и значение константы.

Объявление константы может иметь следующее формальное описание:

const_name CONSTANT type :=value;

Например:



val_real CONSTANT REAL := 5000.00;

Символьные константы заключаются в одинарные кавычки.

Атрибуты %TYPE и %ROWTYPE

Атрибут %TYPE позволяет объявлять переменную типа, соответствующего:

  • типу другой переменной;
  • типу столбца базы данных.

 

Например:



var1 REAL(14,2);
var2 var1%TYPE; -- Переменная var2 будет иметь тип как var1
var_f1 user1.tbl1.f1%TYPE; /* Переменная var_f1 будет иметь тот же тип,
что и поле f1 таблицы tbl1 пользователя user1*/

Атрибут %ROWTYPE позволяет объявлять переменную типа запись, соответствующую строке таблицы. Переменная такого типа имеет поля, совпадающие с полями таблицы по имени и типу.

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

Значения переменным, определенным с использованием атрибута %ROWTYPE, могут быть назначены как присваиванием значения одной записи другой записи, так и как INTO-переменным оператора SELECT.

Например:



DECLARE
tbl1_rec1 tbl1%ROWTYPE; -- Для строки из таблицы tbl1
tbl1_rec2 tbl1%ROWTYPE;
CURSOR c1 IS SELECT * FROM tbl1;
tbl1_rec2 c1%ROWTYPE; -- Для строки курсора с1,
-- созданного из таблицы tbl1
emp_rec3 с1%ROWTYPE;
BEGIN
SELECT * INTO tbl1_rec1 FROM tbl1 WHERE tbl1.f1=1;
emp_rec2 := emp_rec1; -- Присвоение значения всем полям записи
END;

Переменная типа запись без квалификации именами полей может использоваться только для выборки значений, но ее нельзя применять для вставки или обновления значений строки. В SQL-операторе вставки или обновления для каждого столбца таблицы должно быть указано значение поля записи.

 



<== предыдущая лекция | следующая лекция ==>
LOB-типы | Операторы цикла


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


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

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

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


 


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

 
 

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

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