ALTER TYPE ステートメントは、メンバー属性またはメソッドを追加または削除するために使用されます。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
説明
このステートメントは現在サポートされていません。
ALTER TYPE ステートメントを使用して、オブジェクト型の既存のプロパティを変更したり、型のスカラープロパティを変更したりできます。また、このステートメントを使用して型のスペックまたは本体を再コンパイルしたり、新しいオブジェクトメンバーのサブルーチンスペックを追加してオブジェクト型のスペックを変更したりすることもできます。
ALTER TYPE ステートメントは、CREATE TYPE ステートメントおよび CREATE TYPE BODY ステートメントを使用して作成された型に対して、次の操作を実行できます:
タイプを進化させます。つまり、メンバー属性やメソッドを追加または削除します。
オブジェクトメンバーのサブルーチンスペックを追加して、型のスペックを変更します。
スペックまたは型の本体を再コンパイルします。
型のバージョンを1にリセットし、それ以上の進化を考慮しなくなります。
前提条件
このタイプがSYSスキーマに存在する場合、SYSDBAとして接続する必要があります。それ以外の場合、このタイプは現在のユーザーのスキーマに存在するか、ユーザーにはCREATE TYPEまたはCREATE ANY TYPEのシステム権限が付与されている必要があります。
構文
alter_type の構文は以下のとおりです:
CREATE TYPE or CREATE ANY TYPE
ここで、
alter_type_clauseの構文は以下のとおりです:{ type_compile_clause | type_replace_clause | RESET | [ NOT ] { INSTANTIABLE | FINAL } | { alter_method_spec | alter_attribute_definition | alter_collection_clauses } [ dependent_handling_clause ] } ;type_compile_clauseの構文は以下のとおりです:COMPILE [ DEBUG ] [ SPECIFICATION | BODY ] [ compiler_parameters_clause ]... [ REUSE SETTINGS ]type_replace_clauseの構文は以下のとおりです:REPLACE [ invoker_rights_clause [ accessible_by_clause ] | accessible_by_clause | invoker_rights_clause ] ] AS OBJECT ( attribute datatype [, attribute datatype ]... [, element_spec [, element_spec ]... ] )element_specの構文は以下のとおりです:[ inheritance_clauses ] { subprogram_spec | constructor_spec | map_order_function_spec }... [, restrict_references_pragma ]inheritance_clausesの構文は以下のとおりです:{ [ NOT ] { OVERRIDING | FINAL | INSTANTIABLE } }...subprogram_specの構文は以下のとおりです:{ MEMBER | STATIC } { procedure_spec | function_spec }procedure_specの構文は以下のとおりです:PROCEDURE procedure_name ( parameter datatype [, parameter datatype ]... ) [ { IS | AS } call_spec ]function_specの構文は以下のとおりです:PROCEDURE procedure_name ( parameter datatype [, parameter datatype ]... ) [ { IS | AS } call_spec ]constructor_specの構文は以下のとおりです:[ FINAL ] [ INSTANTIABLE ] CONSTRUCTOR FUNCTION datatype [ ([ SELF IN OUT datatype, ] parameter datatype [, parameter datatype ]... ) ] RETURN SELF AS RESULT [ { IS | AS } call_spec ]map_order_function_specの構文は以下のとおりです:{ MAP | ORDER } MEMBER function_specalter_method_specの構文は以下のとおりです:{ ADD | DROP } { map_order_function_spec | subprogram_spec } [, { ADD | DROP } { map_order_function_spec | subprogram_spec } ]...alter_attribute_definitionの構文は以下のとおりです:{ { ADD | MODIFY } ATTRIBUTE { attribute [ datatype ] | ( attribute datatype [, attribute datatype ]... ) } | DROP ATTRIBUTE { attribute | ( attribute [, attribute ]... ) } }alter_collections_clausesの構文は以下のとおりです:MODIFY { LIMIT integer | ELEMENT TYPE datatype }dependent_handling_clauseの構文は以下のとおりです:{ INVALIDATE | CASCADE [ { [ NOT ] INCLUDING TABLE DATA | CONVERT TO SUBSTITUTABLE } ] [ [FORCE ] exceptions_clause ] }exceptions_clauseの構文は以下のとおりです:EXCEPTIONS INTO [ schema. ] table