Как создать в памяти список структур данных в PLSQL
Я новичок в программировании plsql. Я хочу создать список структуры данных в памяти, который содержит список записей, как это
name, city, phone
john, New York, +1-88686
john, London, +44-5343
john, Hong Kong, +33-6556565
Я хочу сделать что-то подобное
create table EmployeeTab(
name varchar2(20),
city varchar2(20),
phone varchar(20)
);
Но я не смог найти правильный синтаксис. Я использую Oracle 11g.
2 ответа
Вы можете использовать индекс по таблице
Если вы хотите в структуре данных памяти для конкретной таблицы, то вы определяете, как показано ниже
TYPE <typename> IS TABLE OF <tablename>%rowtype INDEX BY binary_integer;
<variablename> <typename>; -- declare variable for that type
Если вы хотите индексировать по таблице для вашей записи, то вы можете использовать recordname%rowtype, если вы хотите индексировать по таблице для вашего курсора, тогда вы можете использовать cursorname%rowtype
Индекс по таблице будет полезен для передачи набора значений в другую процедуру
Если вы хотите, вы можете использовать запись типа. Пример:
type EmployeeTab is record
(name varchar(20),
city varchar(20),
phone varchar(20));
v_EmployeeTab EmployeeTab;
Тогда вы можете сохранить ваши данные следующим образом:
v_EmployeeTab.name := '...';
v_EmployeeTab.city := '...';
v_EmployeeTab.phone := '...';
Я предлагаю вам посетить: https://www.tutorialspoint.com/plsql/plsql_records.htm