EventClass/Chronicles/Chronicle の SqlSchema 要素 (ADF)
イベント記録テーブルを定義する Transact-SQL ステートメントが含まれます。
構文
<EventClasses>
<EventClass>
...
<Chronicles>
<Chronicle>
...
<SqlSchema>
要素の特性
特性 | 説明 |
---|---|
データ型と長さ |
なし。 |
既定値 |
なし。 |
個数 |
Chronicle 要素につき 1 個 (必須)。 |
更新 |
追加または削除はできません。 |
要素の関係
関係 | 要素 |
---|---|
親要素 |
|
子要素 |
EventClass/Chronicles/Chronicle/SqlSchema の SqlStatement 要素 (ADF) |
解説
SqlSchema 要素には、Transact-SQL ステートメントのバッチを定義する SqlStatement 要素が含まれています。イベント クラスで複数の記録を定義するには、複数の SqlStatement 要素を使用します。
イベント記録を定義するときには、テーブルが既に存在していた場合にそのテーブルを削除するか、名前を変更するか、または記録の作成をスキップするためのコードを追加します。Notification Services がアプリケーションを更新しようとしたときにテーブルが存在していると、"オブジェクトが存在する" という内容のエラーが発生して更新が失敗します。
記録を作成するときには、アプリケーション データベースで定義されているスキーマを使用してください。スキーマが定義されていない場合は、既定のスキーマは dbo になります。
使用例
次の例では、dbo.StockEventChron
という名前の既存のイベント記録テーブルを削除してから、そのイベント記録テーブルを再作成しています。このテーブルには、StockSymbol
と StockPrice
の 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>
参照
関連項目
その他の技術情報
イベント記録テーブルの定義
イベント クラスの記録の定義
インスタンスとアプリケーションの更新