Как создать в памяти список структур данных в 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

Другие вопросы по тегам