Лабораторные работы по курсу «Базы данных»


Использование атрибута %TYPE



Pdf көрінісі
бет39/46
Дата12.05.2023
өлшемі0,79 Mb.
#92097
түріПрактикум
1   ...   35   36   37   38   39   40   41   42   ...   46
Использование атрибута %TYPE 
Атрибут %ТУРЕ используется при объявлении переменных с типом 
данных, совпадающих с типом некоторого объекта базы данных (чаще всего 
поля). Синтаксис объявления переменной с атрибутом %ТУРЕ: 
переменная таблица. поле%ТУРЕ 
Это позволяет нам не привязываться к конкретному типу поля и еще 
более абстрагироваться от структуры хранения данных. 
Использование атрибута %ROWTYPE 
Атрибут %ROWTYPE используется в PL/pgSQL для переменной-
записи, имеющей одинаковую структуру с записями заданной таблицы. Не 
путайте атрибут %ROWTYPE с типом данных RECORD — переменная с 
атрибутом %ROWTYPE точно воспроизводит структура туру записи 
конкретной таблицы, а переменная RECORD не структурирована и ей можно 
присвоить запись любой таблицы. 
Работа с атрибутом %ROWTYPE отражается в примере 7.3. Для ссылки 
на имя поля в полученной переменной типа authors%ROWTYPE 
используется точка (.) по аналогии с составными структурами в языках 
программирования (Pascal, С). 


Пример 7.3: 
Использование %ROWTYPE PL/pgSQL: 
CREATE FUNCTION get_author (integer) RETURNS text AS '
DECLARE
-- Объявление псевдонима для аргумента функции.
-- в котором должен передаваться код автора.
author_id ALIAS FOR $1;
-- Объявление переменной, структура которой
-- совпадает со структурой таблицы authors.
found_author authors%ROWTYPE;
BEGIN
-- Найти в таблице authors фамилию автора.
-- код которого совпадает с переданным аргументом.
SELECT INTO found_author * FROM authors WHERE id = 
author_id;
-- Вернуть имя и фамилию, разделенные пробелом.
RETURN found_author.first_name || " " || found_author.last_name:


Достарыңызбен бөлісу:
1   ...   35   36   37   38   39   40   41   42   ...   46




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет