DECLARE DATASET

構文:

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---><

パラメータ:

dataset_name 宣言する DataSet。
dataset_xml_file_spec 宣言した DataSet の特性を指定する DataSet XML ファイルの場所。
src_dataset_name 宣言した DataSet の特性を指定する DataSet の名前。
datatable_name 対象の DataSet に含める宣言済みの DataTable。
rel_name 関係の名前。
child_tbl (column_list) 子キー(外部)を定義するテーブルおよびカラムの指定。
parent_tbl (column_list) 親キーを定義するテーブルおよびカラムの指定。
SAVE SCHEMA TO DataSet のスキーマを XSD ファイルに保存する。

目的:

DECLARE DATASET 文を使用すると、型指定された DataSet または型指定されていない DataSet を定義できます。スキーマを宣言し、DataSet(型指定あり)を使用する場合、そのスキーマはコンパイル時にチェックされ、必要に応じて XSD ファイルに格納されます。スキーマを宣言せず、DataSet(型指定なし)を使用する場合、コンパイル時のチェックは行われません。

DataSet は、DataTable、およびこれらのテーブル間の関係で構成されます。

DECLARE DATASET 文で指定する各 DataTable に対して、対応する DECLARE DATATABLE が必要です。必要に応じて、RELATION 句を使用して、これらのテーブル間に親キーおよび子キーの関係を指定できます。

WITH CONSTRAINTS を指定すると、主キー制約および外部キー制約が親 DataTable および子 DataTable にそれぞれ作成されます(まだ存在しない場合)。WITH CONSTRAINTS を指定する場合は、親の行の変更がその子の行にどのように影響するかを指定する規則を設定できます。