XSR_UPDATE プロシージャー
XSR_UPDATE プロシージャーは、XML スキーマ・リポジトリー (XSR) 内の既存の XML スキーマを発展させるために使用されます。 これを使用すると、既存の XML 文書と新しく挿入された XML 文書の両方を妥当性検査できるように、既存の XML スキーマを変更または拡張できます。
スキーマは SYSPROC です。
XSR_UPDATE の引数として指定された元の XML スキーマと新しい XML スキーマは、プロシージャーが呼び出される前に XSR に登録され、かつ完成している必要があります。 これらの XML スキーマは互換性がなければなりません。 互換性要件の詳細については、『XML スキーマを発展させるための互換性要件』を参照してください。
許可
プロシージャーの呼び出し元の許可 ID が持つ特権には、少なくとも以下のいずれかが含まれていなければなりません。
- DBADM 権限。
- カタログ・ビュー SYSCAT.XSROBJECTS および SYSCAT.XSROBJECTCOMPONENTS に対する SELECT 特権、および次の特権セットの 1 つ:
- SQL スキーマ rschema1 およびオブジェクト名 name1 によって指定された XML スキーマの OWNER
- rschema1 引数で指定された SQL スキーマに対する ALTERIN 特権に加え、dropnewschema 引数がゼロに等しくない場合には、rschema2 引数で指定された SQL スキーマに対する DROPIN 特権。
- rschema1
- 更新対象となる元の XML スキーマのための SQL スキーマを指定する、タイプ VARCHAR (128) の入力引数。 SQL スキーマは XSR 内でこの XML スキーマの識別に使用される SQL ID の一部です。 (SQL ID のもう 1 つの部分は name1 引数によって与えられます。) この引数に NULL 値を入れることはできません。 すべての SQL ID に適用される有効な文字と区切り文字の規則は、この引数にも適用されます。
- name1
- 更新対象となる元の XML スキーマの名前を指定する、タイプ VARCHAR (128) の入力引数。 XML スキーマの完全 SQL ID は、rschema1.name1 です。 この XML スキーマは、XSR に既に登録され、かつ完成している必要があります。この引数に NULL 値を入れることはできません。 すべての SQL ID に適用される有効な文字と区切り文字の規則は、この引数にも適用されます。
- rschema2
- 元の XML スキーマを更新するために使用される新しい XML スキーマのための SQL スキーマを指定する、タイプ VARCHAR (128) の入力引数。 SQL スキーマは XSR 内でこの XML スキーマの識別に使用される SQL ID の一部です。 (SQL ID のもう 1 つの部分は name2 引数によって与えられます。) この引数に NULL 値を入れることはできません。 すべての SQL ID に適用される有効な文字と区切り文字の規則は、この引数にも適用されます。
- name2
- 元の XML スキーマを更新するために使用される新しい XML スキーマの名前を指定する、タイプ VARCHAR (128) の入力引数。 XML スキーマの完全 SQL ID は、rschema2.name2 です。 この XML スキーマは、XSR に既に登録され、かつ完成している必要があります。この引数に NULL 値を入れることはできません。 すべての SQL ID に適用される有効な文字と区切り文字の規則は、この引数にも適用されます。
- dropnewschema
- 元の XML スキーマを更新するために新しい XML スキーマを使用した後にそのスキーマがドロップされるかどうかを示す integer タイプの入力パラメーター。 このパラメーターをゼロ以外のいずれかの値に設定した場合、新しい XML スキーマはドロップされます。 この引数に NULL 値を入れることはできません。
例
CALL SYSPROC.XSR_UPDATE(
'STORE',
'PROD',
'STORE',
'NEWPROD',
1)XML スキーマ STORE.PROD の内容は STORE.NEWPROD の内容で更新され、XML スキーマ STORE.NEWPROD はドロップされます。