SQL ステートメント内で INSERT、UPDATE、DELETEコマンドを使用して、外部テーブルのデータを更新できます。この場合、POD ファイルにはデータがコピーされません。
例 1: データベースのレコード削除
<PIPELINE>
<MDB> path_to_database </MDB>
<!-- Delete all entries associated with this pipeline -->
<SQL>
DELETE FROM TABLE WHERE PipelineReference = '$P.PIPELINE-REFERENCE$'
</SQL>
</PIPELINE>
例 2: テーブルに新規レコード追加
<MDB> path_to_database </MDB>
<SQL>
<!-- Query is executed once -->
INSERT INTO TABLE (Field1, Field2, Field3)VALUES ("$POD_property1$",
"$POD_property2$","$POD_property2$") "$I.MEASUREMENT-POINTS$",
"$I.INSPECTION-DATE$",
</SQL>
例 3: テーブルの既存レコード更新
<MDB> path_to_database </MDB>
<SQL>
<!-- Query is executed once -->
UPDATE TABLE
SET Field1 = "$POD_property1$", Field2 = "$POD_property2$",
Field3 = "$POD_property2$" WHERE PipelineReference = ‘$P.PIPELINE-REFERENCE$’
</SQL>
-
すべて の SQL ステートメントをサポートしていないため、Excel スプレッドシートはデータベースとして使用しないことをお勧めします。
-
例 2 と 例 3 は次のような表記規則を使用しています:
-
TABLEは既存のデータベーステーブル名です。
-
Field1、Field2、Field3はデータを追加するデータベースの列名です。
-
POD_property1、POD_property2 は外部データベースに保存する POD ファイルの値です。
-
-
例 3 では WHEREが更新するテーブル内の単独の行を識別しています。
-
DELETE、INSERT、UPDATEコマンドは何もデータを返さないため、GED ログファイルにエラーメッセージが書き込まれます。これらのコマンドは GED が期待するデータを何も返しません。したがって、このエラーは無視できます。