ALTER TYPE

Purpose

Object types are defined using PL/SQL. Therefore, this section provides some general information but refers to Oracle Database PL/SQL Language Reference for details of syntax and semantics.

Use the ALTER TYPE statement to add or drop member attributes or methods. You can change the existing properties (FINAL or INSTANTIABLE) of an object type, and you can modify the scalar attributes of the type.

You can also use this statement to recompile the specification or body of the type or to change the specification of an object type by adding new object member subprogram specifications.

Prerequisites

The object type must be in your own schema and you must have CREATE TYPE or CREATE ANY TYPE system privilege, or you must have ALTER ANY TYPE system privileges.

Syntax

alter_type::=

Description of alter_type.gif follows
Description of the illustration ''alter_type.gif''

(alter_type_clauses: See Oracle Database PL/SQL Language Reference for the syntax of this clause.)

Semantics

schema

Specify the schema that contains the type. If you omit schema, then Oracle Database assumes the type is in your current schema.

type

Specify the name of an object type, a nested table type, or a varray type.

Restriction on type_name You cannot evolve an editioned object type. The ALTER TYPE statement fails with ORA-22348 if either of the following is true:

  • The type is an editioned object type and the ALTER TYPE statement has no compile_type_clause. You can use the ALTER TYPE statement to recompile an editioned object type, but not for any other purpose.

  • The type has a dependent that is an editioned object type and the ALTER TYPE statement has a CASCADE clause.

Refer to Oracle Database PL/SQL Language Reference for more information on the compile_type_clause and the CASCADE clause.

alter_type_clauses

See Oracle Database PL/SQL Language Reference for the syntax and semantics of this clause and for complete information on creating and compiling object types.