次の方法で共有


EventClass/Chronicles/Chronicle の SqlSchema 要素 (ADF)

イベント記録テーブルを定義する Transact-SQL ステートメントが含まれます。

構文

<EventClasses>
    <EventClass>
        ...
        <Chronicles>
            <Chronicle>
                ...
                <SqlSchema>

要素の特性

特性 説明

データ型と長さ

なし。

既定値

なし。

個数

Chronicle 要素につき 1 個 (必須)。

更新

追加または削除はできません。

要素の関係

関係 要素

親要素

EventClass/Chronicles の Chronicle 要素 (ADF)

子要素

EventClass/Chronicles/Chronicle/SqlSchema の SqlStatement 要素 (ADF)

解説

SqlSchema 要素には、Transact-SQL ステートメントのバッチを定義する SqlStatement 要素が含まれています。イベント クラスで複数の記録を定義するには、複数の SqlStatement 要素を使用します。

イベント記録を定義するときには、テーブルが既に存在していた場合にそのテーブルを削除するか、名前を変更するか、または記録の作成をスキップするためのコードを追加します。Notification Services がアプリケーションを更新しようとしたときにテーブルが存在していると、"オブジェクトが存在する" という内容のエラーが発生して更新が失敗します。

記録を作成するときには、アプリケーション データベースで定義されているスキーマを使用してください。スキーマが定義されていない場合は、既定のスキーマは dbo になります。

使用例

次の例では、dbo.StockEventChron という名前の既存のイベント記録テーブルを削除してから、そのイベント記録テーブルを再作成しています。このテーブルには、StockSymbolStockPrice の 2 つの列が含まれています。

<SqlSchema>
    <SqlStatement>
    IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
        WHERE TABLE_NAME = 'StockEventsChron'
            AND TABLE_SCHEMA = 'dbo')
        DROP TABLE dbo.StockEventsChron;
    </SqlStatement>
    <SqlStatement>
    CREATE TABLE dbo.StockEventsChron
    (
    StockSymbol char(10),
    StockHighPrice money
    PRIMARY KEY (StockSymbol)
    );
    </SqlStatement>
</SqlSchema>

次の例では、dbo.StockEventChron という名前のテーブルが存在しない場合にのみイベント記録テーブルが作成されます。

<SqlSchema>
    <SqlStatement>
    IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
        WHERE TABLE_NAME = 'StockEventsChron'
            AND TABLE_SCHEMA = 'dbo')
        CREATE TABLE dbo.StockEventsChron
        (
        StockSymbolOne char(10),
        StockHighPrice money
        PRIMARY KEY (StockSymbolOne)
       );
    </SqlStatement>
</SqlSchema>

参照

関連項目

アプリケーション定義ファイルのリファレンス

その他の技術情報

イベント記録テーブルの定義
イベント クラスの記録の定義
インスタンスとアプリケーションの更新

ヘルプおよび情報

SQL Server 2005 の参考資料の入手