DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Записи

Каждая строка таблицы состоит из одного или нескольких столбцов различных типов. Аналогично запись состоит из одного или нескольких полей. Существует три способа определения записи, но после того как она определена, обращение к полям записи и их изменение всегда подчиняются одним и тем же правилам.
Рассмотрим пример объявления записи непосредственно на основе таблицы базы данных. Пусть у меня есть таблица для хранения сведений о моих любимых книгах:

Я могу без труда создать запись на основе этой таблицы, заполнить ее результатами запроса к базе данных и затем обращаться к отдельным столбцам как к полям записи:

Объявление записей
Существуют три способа объявления записей:
Запись на основе таблицы
Используйте атрибут %ROWTYPE и имя таблицы для объявления записи, в которой каждое поле соответствует столбцу таблицы (и имеет такое же название). Объявим запись one_book, которая будет иметь такую же структуру, как и таблица books:

Запись на основе курсор а
Используйте атрибут %ROWTYPE и явный курсор или курсорную переменную, в которых каждое поле соответствует столбцу или именованному выражению (aliased expression) в операторе SELECT курсора. Объявим запись, имеющую такую же структуру, как явный курсор:


Запись, определяемая программистом
Используйте оператор TYPE ... RECORD для определения записи, в которой каждое поле явно определено (с указанием имени и типа данных) в операторе TYPE. При этом полем записи, определяемой программистом, может являться также другая запись. В следующем примере я объявляю тип записи TYPE, содержащий некоторую информацию о моей писательской карьере, и «экземпляр» этого типа - запись:

Обратите внимание, что я объявляю запись на основе типа TYPE, не используя атрибут %ROWTYPE. Элемент book_info_rt уже является типом.
 









jAntivirus