Search code examples
oopplsqltypessyntaxnested-table

IS TABLE OF and AS TABLE OF when creating PL/SQL nested table collection types


I am curious about syntax usage with PL/SQL collection type creations. What is the difference between is table of and as table of when creating a PL/SQL nested table collection type, if any? I've seen only is table of in the Oracle help documentation but code I've come across uses both is table of and as table of when creating the collection type. I tried both and both statements appear to execute at the same speed and hold data as intended.

For example, for object type

create or replace type new_emp_ot is object
(
    ssn number(9),
    lname varchar2(200),
    fname varchar2(200)
);

is there any discernible difference between how Oracle processes

create or replace type new_emp_nt as table of new_emp_ot;

and

create or replace type new_emp_nt is table of new_emp_ot;

?


Solution

  • IS and AS are interchangeable in the CREATE TYPE syntax, there is no difference in this case.

    Although the syntax diagram is incorrect... it makes it look like IS/AS are optional, but you can't actually omit them.