既存オブジェクトの置換

CREATE ステートメントを使用すれば既存のオブジェクトを置換できます。必ずしも最初にオブジェクトを除去する必要はありません。

多くの SQL オブジェクトでは、CREATE SQL ステートメントを使用するときにオプションで既存のオブジェクトを置換できます。 既存のオブジェクトは、新しいオブジェクトが作成される前に事実上除去されることになります。 以下の SQL ステートメントには、そのようなオプションがあります。

  • CREATE ALIAS
  • CREATE FUNCTION
  • CREATE MASK
  • CREATE PERMISSION
  • CREATE PROCEDURE
  • CREATE SEQUENCE
  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VARIABLE
  • CREATE VIEW

これらのステートメントのいずれかで置換オプションを使用するとき、既存オブジェクトの特権は保持されます。 オブジェクト定義は、新しい定義によって置換されます。

例: シーケンスの作成または置換

MYSEQUENCE という名前のシーケンスを作成するか、またはその名前のシーケンスが存在する場合にそれを置換するには、 以下の SQL ステートメントを使用します。

CREATE OR REPLACE SEQUENCE MYSEQUENCE AS BIGINT
そのシーケンスがまだ存在しない場合には、それが作成されます。 存在する場合には、既存のシーケンスの特権が新しいシーケンスに転送されます。