ALTER SCHEMA ステートメント

ALTER SCHEMA ステートメントは、既存のスキーマのデータ・キャプチャー属性を変更します。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。

許可

ステートメントの許可 ID によって保持されている特権には、少なくとも以下のいずれかの権限が含まれていなければなりません。
  • SYSCAT.SCHEMATA カタログ・ビューの OWNER 列に記録されているそのスキーマの所有者
  • DBADM 権限

構文

構文図を読む構文図をスキップするALTER SCHEMAschema-nameDATA CAPTURE NONECHANGES

説明

schema-name
変更するスキーマ値を識別します。 schema-name には、現行のサーバー上の既存のスキーマを指定する必要があります (SQLSTATE 42704)。
DATA CAPTURE
データの複製に関する追加情報をログに記録するか否かを指定します。
NONE
データの複製に関する追加情報をログに記録しないことを指定します。
CHANGES
このスキーマに対する SQL 変更についての追加情報をログに書き込むことを指定します。 このオプションは、このスキーマを複製する場合に、レプリケーション・キャプチャー・プログラムを使用してログからこのスキーマに対する変更内容をキャプチャーする場合は必須です。

  • スキーマ・レベルで DATA CAPTURE 属性を変更した場合、表を新しく作成するときに DATA CAPTURE 属性が表レベルで指定されていなければ、その属性がスキーマから継承されます。スキーマ・レベルで DATA CAPTURE 属性を変更した場合、そのスキーマ内の既存の表の DATA CAPTURE 属性には影響はありません。 DATA CAPTURE 属性が変更され、既存の表のいずれかが新しい属性と一致しない場合、警告が返されます (SQLSTATE 01696)。
  • DATA CAPTURE 属性が CHANGES に設定された表のリストを表示するには、次の照会を発行します。
    SELECT TABNAME, TABSCHEMA FROM SYSCAT.TABLES
      WHERE TYPE IN ('T','S','L') 
        AND DATACAPTURE <> 'N'
  • DATA CAPTURE 属性が NONE に設定された表のリストを表示するには、次の照会を発行します。
    SELECT TABNAME, TABSCHEMA FROM SYSCAT.TABLES
      WHERE TYPE IN ('T','S','L')
        AND DATACAPTURE = 'N'