DECLARE DATASET

型付けされた DataSet または型付けされていない 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 ファイルに保存します。

説明:

DataSet (型付けされた) でスキーマを宣言すると、その DataSet はコンパイル時にチェックされて、XSD ファイルに保存することもできます。DataSet (型付けされていない) でスキーマを宣言しない場合、コンパイル時のチェックは実行されません。

DataSet は、DataTable とそれらのテーブル間の関係で構成されます。

DECLARE DATASET 文で指定されたすべての DataTable には、対応する DECLARE DATATABLE が必要です。オプションで、RELATION 句を使用してこれらのテーブル間の親キーおよび子キーの関係を指定することもできます。

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

例:

     EXEC ADO
        DECLARE ds DATASET
        FOR Customers, Orders, "Order Details"
        RELATION custord Orders(CustomerID) REFERENCES Customers(CustomerID),
        RELATION orditems "Order Details"(OrderID) REFERENCES Orders(OrderID)
     END-EXEC

     EXEC ADO
        DECLARE ds UNTYPED DATASET
     END-EXEC