В этом учебном материале вы узнаете, как использовать атрибут %TYPE в Oracle PL/SQL с синтаксисом и примерами.
Описание
В Oracle PL/SQL атрибут %TYPE для переменной предоставляет тип данных столбца базы данных. Это особенно полезно при объявлении переменных, которые будут содержать значения столбцов таблиц базы данных.
Синтаксис
Синтаксис объявления переменной с атрибутом %TYPE в Oracle PL/SQL:
Параметры или аргументы
v_name – имя переменной которой присваивается значение.
table_name – имя таблицы базы данных.
column_name – имя столбца таблицы table_name.
Примечание
- Для объявления переменной, вам не нужно знать фактический тип данных и такие атрибуты, как точность, размер или длина.
- Если точность в столбце изменяется, то тип данных переменной изменяется соответственно во время выполнения.
Пример %TYPE - предоставление тип данных переменной
Рассмотрим пример определения тип данных переменной с помощью атрибута %TYPE.
1 2 3 4 5 6 7 |
DECLARE name VARCHAR(25) NOT NULL := 'Smith'; surname name%TYPE := 'Jones'; BEGIN DBMS_OUTPUT.PUT_LINE('name=' || name); DBMS_OUTPUT.PUT_LINE('surname=' || surname); END; |
В этом примере переменная surname наследует тип данных, размер и ограничение NOT NULL переменной name. Поскольку surname не наследует начальное значение name, то определение surname требует начального значения (которое не может превышать 25 символов).
Пример %TYPE предоставление переменной тип данных столбца таблицы
Вы можете ссылаться на таблицу и столбец, или вы можете ссылаться на владельца, таблицу и столбец, как в следующем примере.
1 2 3 4 5 6 7 |
DECLARE -- Если длина столбца когда-либо изменяется, этот код -- автоматически будет использовать новую длину. the_trigger user_triggers.trigger_name%TYPE; BEGIN NULL; END; |
В этом примере переменной the_trigger присвоили значение столбца trigger_name таблицы user_triggers.