変更ビュー SQL 言語のサポート

提供: InterBase
移動先: 案内検索

変更ビュー へ戻る


以下の例では、変更ビューをサポートする ISQL コマンドライン ユーティリティの改善を示しています。

データベースで定義されているサブスクリプションのリストを表示するには、SHOW SUBSCRIPTIONS コマンドを実行します。 特定のサブスクリプションの詳細を表示するには、SHOW SUBSCRIPTION <name> を実行します。

ISQL SHOW SUBSCRIPTION

SHOW SUBSCRIPTIONS;
Subscription Name
===================================================================
SUB_CUSTOMER_DELETES
SUB_EMPLOYEE_CHANGES
SUB_VARIOUS_CHANGES
 
SHOW SUBSCRIPTION sub_employee_changes;
Subscription name: SUB_EMPLOYEE_CHANGES
Owner: SYSDBA
Description: Subscribe to changes in EMPLOYEE table
        EMPLOYEE (SALARY, DEPT_NO, EMP_NO)
 
SHOW SUBSCRIPTION sub_customer_deletes;
Subscription name: SUB_CUSTOMER_DELETES
Owner: SYSDBA
Description: Subscribe to deletes in CUSTOMER table
        CUSTOMER FOR ROW (DELETE)
 
SHOW SUBSCRIPTION sub_various_changes;
Subscription name: SUB_VARIOUS_CHANGES
Owner: SYSDBA
Description: Subscribe to various changes on multiple tables
        EMPLOYEE FOR ROW (INSERT, UPDATE, DELETE),
        CUSTOMER FOR ROW (INSERT, UPDATE, DELETE),
        SALES FOR ROW (UPDATE),
        DEPARTMENT (LOCATION) FOR ROW (UPDATE)

ISQL は、ディスプレイ セットを切り替える SET 文のコレクションを持っています。SET CHANGES ディスプレイ トグルは、変更ステータスを従属表記として持つ列データ値の表示を切り替えます。<change> 列は疑似列で、列の値を変更する DML 文の型を示します。この変更状態すべてが、新しい XSQLDA 構造体の XSQLVAR.SQLIND メンバーによって返されます。

Retrieving Change Views from ISQL
 <Another user reassigns an existing employee to another department and gives another employee a raise>
 
SET SUBSCRIPTION sub_employee_changes ACTIVE;
SELECT EMP_NO, DEPT_NO, SALARY FROM EMPLOYEE; 
 
 EMP_NO     DEPT_NO     SALARY
   37         120        50000
   109        600        75000
 
SET CHANGES;
 
SELECT EMP_NO, DEPT_NO, SALARY FROM EMPLOYEE;
 EMP_NO   <change>  DEPT_NO    <change>       SALARY      <change>
 --------           ----------                -----------
 37       <same>    120        <update>       50000       <same>
 109      <same>    600        <same>         75000       <update>
 
COMMIT;

次のトピック: