変更ビュー SQL 言語のサポート
変更ビュー へ戻る
以下の例では、変更ビューをサポートする 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;