如何在PLSQL中创建内存中的数据结构列表

时间:2018-07-12 20:46:52

标签: oracle plsql oracle11g in-memory

我是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 个答案:

答案 0 :(得分:1)

如果需要,可以使用TYPE RECORD。 示例:

    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

答案 1 :(得分:1)

您可以按表格使用索引

如果要在特定表的内存数据结构中定义,则如下所示

TYPE <typename> IS TABLE OF <tablename>%rowtype INDEX BY binary_integer;
<variablename> <typename>; -- declare variable for that type

如果要按表索引以进行记录,则可以使用recordname%rowtype 如果要按表为光标索引,则可以使用cursorname%rowtype

按表索引将有助于将一组值传递给另一个过程