Погружение в базы данных Oracle

Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык SQL и его процедурное расширение PL/SQL от компании Oracle.

Купить книгу

SQL без слёз

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

Скачать книгу

 ›  ›  ›  › Что такое записи в PL/SQL Oracle?

Что такое записи в PL/SQL Oracle?

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

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

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

CREATE TABLE books (
  book_id         INTEGER,
  isbn            VARCHAR2(13),
  title           VARCHAR2(200),
  summary         VARCHAR2(2000),
  author          VARCHAR2(200),
  date_published  DATE,
  page_count      NUMBER
);

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

DECLARE
   my_book  books%ROWTYPE;
BEGIN
   SELECT *
     INTO my_book
     FROM books
    WHERE title = 'Oracle PL/SQL Programming, 6th Edition';
   IF my_book.author LIKE '%Feuerstein%'
   THEN
      DBMS_OUTPUT.put_line ('Код ISBN: ' || my_book.isbn);
   END IF;
END;

Записи также могут определяться на базе ранее определенного типа. Допустим, в базе данных нас интересует только имя автора и название книги. Вместо того чтобы использовать %ROWTYPE для объявления записи, мы создаем тип записи:

DECLARE
   TYPE author_title_rt IS RECORD (
      author books.author%TYPE
     ,title books.title%TYPE
     );
   l_book_info author_title_rt;
BEGIN
   SELECT author, title INTO l_book_info
     FROM books WHERE isbn = '978-1-449-32445-2';

Метки: , .

Записи по теме

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *