ALTER SYNONYM
目的
ALTER
SYNONYM
文を使用すると、既存のシノニムを変更できます。
前提条件
他のユーザーのスキーマに含まれるシノニムを変更する場合は、CREATE
ANY
SYNONYM
システム権限とDROP
ANY
SYNONYM
システム権限が必要です。
PUBLIC
シノニムを変更する場合、CREATE
PUBLIC
SYNONYM
システム権限とDROP
PUBLIC
SYNONYM
システム権限が必要です。
構文
alter_synonym::=
セマンティクス
PUBLIC
synonym
がパブリック・シノニムの場合は、PUBLIC
を指定します。この句は、パブリック・シノニムをプライベート・シノニムに変更する(または、その逆に変更する)場合には使用できません。
IF EXISTS
IF EXISTS
は、既存の表を変更する場合に指定します。
ALTER VIEW
にIF NOT EXISTS
を指定すると、ORA-11544: Incorrect IF EXISTS clause for ALTER/DROP statement
が発生します。
schema
シノニムが含まれているスキーマを指定します。schema
を指定しない場合、シノニムは自分のスキーマ内にあるとみなされます。
synonym
変更するシノニムの名前を指定します。
EDITIONABLE | NONEDITIONABLE
この句を使用すると、schema
のスキーマ・オブジェクト・タイプSYNONYM
のエディショニングが後で有効化されたときに、そのシノニムをエディション・オブジェクトにするか非エディション・オブジェクトにするかを指定できます。デフォルトは、EDITIONABLE
です。エディション・オブジェクトと非エディション・オブジェクトの変更の詳細は、『Oracle Database開発ガイド』を参照してください。
EDITIONABLE | NONEDITIONABLEの制限事項
これらの句は、パブリック・シノニムには指定できません。PUBLIC
スキーマのオブジェクト型SYNONYM
については、エディショニングが常に有効化されています。
COMPILE
この句を使用すると、synonym
をコンパイルできます。シノニムによってシノニムのターゲット・オブジェクトへの依存関係が設定され、ターゲット・オブジェクトが変更または削除されるとシノニムも無効になります。無効のシノニムをコンパイルすると、そのシノニムは再度有効になります。
ノート:
シノニムが有効か無効かを判断するには、ALL_
、DBA_
、およびUSER_OBJECTS
データ・ディクショナリ・ビューのSTATUS
列を問い合せます。
例
次の例では、「CREATE
SYNONYM
」の「例」で作成したシノニムを変更します。
次の文では、シノニムoffices
をコンパイルします。
ALTER SYNONYM offices COMPILE;
次の文では、パブリック・シノニムemp_table
をコンパイルします。
ALTER PUBLIC SYNONYM emp_table COMPILE;
次の文では、シノニムoffices
を含むスキーマのスキーマ・オブジェクト・タイプSYNONYM
のエディショニングが後から有効化されたときにも、シノニムoffices
が非エディション・オブジェクトの状態を維持するようにします。
ALTER SYNONYM offices NONEDITIONABLE;