В начало - раздел Программирование, БАЗИСНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА PL/SQL
5. Переменные И Константы...
5. ПЕРЕМЕННЫЕ И КОНСТАНТЫ
5.1. Объявление переменных
В блоках PL/SQL взаимодействие с базой данных осуществляется посредством переменных. Переменной может быть присвоена определенная информация, хранимая в базе данных, либо содержимое переменной может быть внесено в базу данных. Переменные могут изменяться непосредственно командами PL/SQL. Переменные определяются в разделе объявлений блока. Каждая переменная имеет конкретный тип, описывающий тип хранящейся в ней информации. Синтаксис объявления переменных:
имя_переменной тип [CONSTANT] [NOT NULL] [:= значение},
где имя_переменной — это имя переменной, тип — это тип переменной, а значение — начальное значение переменной.
Пример:
var1 VARCHAR2(50);
var2 NUMBER := 45;
var3 BINARY_INTEGER := 0;
В качестве имени переменной может быть использован любой разрешенный идентификатор PL/SQL. Если начальное значение переменной не задано (она не инициализирована), по умолчанию ей присваивается NULL. Если в объявлении указано NOT NULL, переменная должна быть инициализирована. Более того, переменной, которая описана как NOT NULL, запрещается присваивать NULL при ее объявлении, в выполняемом разделе или в разделе исключительных ситуаций блока.
Объявление константы аналогично объявлению переменной за исключением того, что необходимо добавить ключевое слово CONSTANT и сразу назначить значение константе. С этого момента никакие другие значения константы не допускаются. Константная переменная рассматривается в блоке в качестве переменной "только для чтения". Константы часто используются для хранения тех значений, которые известны к моменту создания блока.
В разделе объявлений в одной строке может быть описана только одна переменная.
Пример:
не корректное объявление переменных: v_FirstName, v_LastName VARCHAR2(20);
В PL/SQL информация, содержащаяся в неинициализированной переменной, определяется — такой переменной присваивается NULL (пропущенное или неизвестное значение), поэтому вполне логично, что NULL по умолчанию присваивается любой неинициализированной переменной.
Начальное значение переменной можно присвоить в разделе объявлений программного блока, а также в любой момент исполнения программы символом присваивания — двоеточием, за которым следует знак равенства. Присвоить значение переменной в исполняемом разделе можно по-разному, например воспользовавшись значением, которое возвращает функция, вызванная для заполнения переменной, или текущим значением переменной в арифметическом уравнении, создающем новое значение.
Последовательное управление
1. ВВЕДЕНИЕ
PL/SQL — это собственный язык Oracle, предназначенный для разработки приложений баз данных. В дополнение ко всем SQL-операциям
В начало
2. БАЗИСНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА PL/SQL
Набор символов: программа PL/SQL представляет собой строки текста, испо
Семейство числовых типов
NUMBER- с помощью данного типа можно хранить числа: целые и с плавающей точкой. Он аналогичен типу NUMBER, применяемому в базах данных. Синтаксис:
NUMBER (P,S);
Семейство символьных типов
VARCHAR2- данный тип аналогичен типу VARCHAR2, применяемому в базах данных. При помощи переменных типа VARCHAR2 можно хранить строки символов переменной длины. Синтаксис:
Семейство типов RAW
RAW - используется для хранения двоичных данных фиксированной длины. Синтаксис:
RAW(L) ,
где L — длина переменной в байтах. Тип RAW. В отличие от символьны
Семейство типов ROWID
ROWID- абсолютно аналогичен типу, используемому для работы с псевдостолбцами ROWID базы данных. Он дает возможность сохранять идентификаторы строк (rowid), которые можно рассматрив
В начало
3.2 Составные типы
В переменной, имеющей составной тип, находится одна или несколько скалярных переменных (называемых также атрибутами). Для применения со
В начало
3.3 Ссылочные типы
Ссылочный тип PL/SQL — это то же самое, что и указатель в С. Переменная, объявленная как ссылочная, во
В начало
3.4 Типы LOB
Используются для хранения больших объектов. Большой объект (large object) может быть либо двоичным, либо символьным значением размером
В начало
3.5 Объектные типы
Объектный тип является составным типом, который имеет внутри себя атрибуты (переменные других типов) и методы (подпрограммы). Информаци
В начало
3.6. Преобразование типов данных
PL/SQL может выполнять преобразования между различными семействами скалярных типов данных. В пределах одн
Явное преобразование типов данных
Встроенные функции преобразования, доступные в SQL, доступны и в PL/SQL. Краткое описание этих функций приведено в таблице 6. При необходимости их можно применять для явного преобразования типов да
Неявное преобразование типов данных
В PL/SQL осуществляется автоматическое преобразование типов данных разных семейств, когда это возможно. PL/SQL может автоматически выполнять преобразование между: cимвольными типами и числовыми тип
В начало
4. ПРОГРАММНЫЕ КОНСТРУКЦИИ PL/SQL
В PL/SQL имеется множество различных программных конструкций, начиная с модулей разных видов и заканчивая логическими ко
DECLARE
SUBTYPE MyDate IS DATE; -- Основан на типе DATE
TYPE MyRec IS RECORD (time1 INTEGER, time2 INTEGER);
SU
В начало
5.2. Работа с составными типами данных
Запись PL/SQL
Для определения записи PL/SQL сначала нужно
Изменяемый массив.
Изменяемый массив, или массив с переменной длиной — это тип данных, практически идентичный массиву в языке программирования С или Java. Синтаксис:
TYPE имя_типа IS (VARRAY | VARYING ARRAY]
В начало
5.3 Динамическое объявление типа переменных
Во многих случаях для работы с данными, хранимыми в таблицах базы данных, испо
В начало
6.2. Итеративное управление
Итеративное управление называется также циклом. Цикл (LOOP) повторяет исполнение программного блока до тех пор
В начало
6.3. Последовательное управление
Последовательное управление иначе называется оператором GOTO. При его обнаружении програ
Goto lose_a_pencil;
-- Организуем цикл для всех рядов на верхнем уровне
FORrownum IN 1..6 LOOP
-- Организуем цикл для всех парт в текущем ряду
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Новости и инфо для студентов