構文:
DECLARE <typed> DATASET
>>--EXEC ADO---DECLARE dataset_name DATASET----------------------->
>--+-FROM dataset_xml_file_spec---------------------------------+
+-LIKE src_dataset_name--------------------------------------+
| |
| +---- , -----+ |
| V | |
+-FOR---datatable_name---.--------------.----.-------------.-+
+-optrelations-+ +optschemasave+
>--END-EXEC----><
where
optrelations:
>-.------------------------------------------------------------------------.--><
| |
| + ----------------- , ---------------------------------------------+ |
| V | |
+---.--------.-RELATION rel_name child_tbl (column_list)REFERENCES-> | |
+-NESTED-+ | |
>--parent_tbl (column_list)-.------------------.----------+---+
+optwithconstraints+
optschemasave:
>----.--------------------------------------.--------------------><
+-SAVE SCHEMA TO dataset_xml_file_spec-+
optwithconstraints:
>--.------------------------------------------------------------.-><
+-WITH CONSTRAINTS-.-------------.-.----------.-.----------.-+
+-accrej_rule-+ +-del_rule-+ +-upd_rule-+
accrej_rule:
>---ON ACCEPT OR REJECT -.-CASCADE---.----------------------------><
+-NO ACTION-+
del_rule:
>---ON DELETE -.-CASCADE-----.------------------------------------><
+-NO ACTION---+
+-SET DEFAULT-+
+-SET NULL----+
upd_rule:
>---ON UPDATE -.-CASCADE-----.------------------------------------><
+-NO ACTION---+
+-SET DEFAULT-+
+-SET NULL----+
DECLARE <untyped> DATASET
>>--EXEC ADO---DECLARE dataset_name UNTYPED DATASET----END-EXEC---><
目的:
DECLARE DATASET 文を使用すると、型指定された DataSet または型指定されていない DataSet を定義できます。スキーマを宣言し、DataSet(型指定あり)を使用する場合、そのスキーマはコンパイル時にチェックされ、必要に応じて XSD ファイルに格納されます。スキーマを宣言せず、DataSet(型指定なし)を使用する場合、コンパイル時のチェックは行われません。
DataSet は、DataTable、およびこれらのテーブル間の関係で構成されます。
DECLARE DATASET 文で指定する各 DataTable に対して、対応する DECLARE DATATABLE が必要です。必要に応じて、RELATION 句を使用して、これらのテーブル間に親キーおよび子キーの関係を指定できます。
WITH CONSTRAINTS を指定すると、主キー制約および外部キー制約が親 DataTable および子 DataTable にそれぞれ作成されます(まだ存在しない場合)。WITH CONSTRAINTS を指定する場合は、親の行の変更がその子の行にどのように影響するかを指定する規則を設定できます。