CREATE TRIGGER

トリガーをテーブルに登録します。

トリガーの実装には、なじみのあるCREATE TRIGGER構文を使用してトリガーをテーブルに登録する機能が含まれます。トリガーAPIは準プライベートであり、変更される可能性があります。

構文

CREATE TRIGGER trigger_name
  ON table+name
  USING 'org.apache.cassandra.triggers.AuditTrigger'
表 1. 凡例
構文規則 説明
大文字 リテラル・キーワード。
小文字 リテラル以外。
イタリック体 変数値。ユーザー定義値と置き換えます。
[] 任意。角かっこ( [] )で任意指定のコマンド引数を囲みます。角かっこは入力しないでください。
( ) グループ。丸かっこ(( ))は、選択肢を含むグループを示します。丸かっこは入力しないでください。
| または。縦棒( | )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。
... 繰り返し可能。省略記号(...)は、構文要素を必要な回数だけ繰り返すことができることを示します。
'Literal string' 単一引用符( ' )でCQL文内のリテラル文字を囲みます。大文字を維持するには、単一引用符を使用します。
{ key : value } マップ・コレクション。中かっこ( { } )でマップ・コレクションまたはキーと値のペアを囲みます。コロンでキーと値を区切ります。
<datatype1,datatype2> セット、リスト、マップ、またはタプル。山かっこ(< >)で、セット、リスト、マップまたはタプル内のデータ型を囲みます。データ型はコンマで区切ります。
cql_statement; CQL文の終了。セミコロン( ; )ですべてのCQL文を終了します。
[--] コマンドライン・オプションとコマンド引数は、2つのハイフン(--)で区切ります。この構文は、引数がコマンドライン・オプションと間違われる可能性がある場合に役立ちます。
' <schema> ...</schema> ' 検索CQLのみ:単一引用符( ' )でXMLスキーマ宣言全体を囲みます。
@xml_entity='xml_entity_type' 検索CQLのみ:スキーマ・ファイルおよびsolrConfigファイル内のXML要素を上書きするための実体とリテラル値を示します。

大文字を使用するトリガー名は二重引用符で囲む必要があります。トリガーを構成するロジックは、どのJava(JVM)言語でも記述でき、データベースの外に存在します。トリガーを実装するこの例のJavaクラスは、「org.apache.cassandra.triggers」という名前で、Apacheリポジトリ内で定義されています。テーブルに定義されたトリガーは要求されたDML文が実行される前に作動して、トランザクションのアトミック性を保証します。

カスタム・トリガー・コード(JAR)は各ノードの triggersディレクトリーに配置します。カスタムJARは起動時に読み込まれます。

DataStax Enterpriseでは、トリガーを作成するための軽量トランザクションをサポートしています。既存のトリガーを作成しようとすると、IF NOT EXISTSオプションを使用していない限りエラーが返されます。このオプションを使用すると、既にそのテーブルが存在していれば、この文は何もしません。

triggersディレクトリーの場所は、インストールのタイプによって異なります。

パッケージ・インストール
Installer-Servicesインストール

/etc/dse/cassandra/triggers

tarボール・インストール
Installer-No Servicesインストール

install_location/resources/cassandra/conf/triggers