ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||
|
4D v20 R8
SQLを使用した複製
|
仮想フィールド | 型 | 内容 | 利用 |
__ROW_ID | Int32 | レコードのID | REPLICATEやSYNCHRONIZEを除くすべてのSQLステートメント |
__ROW_STAMP | Int64 | レコード複製情報 | すべてのSQLステートメント |
__ROW_ACTION | Int16 | レコードに対して実行されたアクション: 1 = 追加または更新、2 =削除 | REPLICATEまたはSYNCHRONIZEのみ |
複製メカニズムが有効になると、レコードが作成、更新、削除されるたびに対応する情報が自動でこのレコードの仮想フィールドに保存されます。
複製を可能にするメカニズムはデフォルトで無効になっています。複製や同期を行うテーブルごとに、リモートおよびローカルのデータベース両方で、明示的にこれを有効にしなければなりません。
メカニズムを有効にしても複製自身が実行されるわけではない点に留意してください。データが実際にローカルまたは同期データベースに複製されるためには、REPLICATEやSYNCHRONIZEコマンドを使用しなければなりません。
(ローカルおよびリモートデータベース上で) 内部的な複製メカニズムをテーブル毎に有効にするためには、テーブルインスペクタ内の複製を有効にするテーブルプロパティを使用します:
Note: 複製メカニズムが動作するようにするためには、リモートおよびローカルデータベース側でテーブルの主キーを指定しなければなりません。このキーはストラクチャエディタまたはSQLコマンドで指定できます。主キーが設定されていない場合、このオプションは選択することができません。
このオプションがチェックされると、4Dはテーブルのレコードを複製するために必要な情報 (特にテーブルの主キーに基づき) を生成します。 この情報は仮想 __ROW_STAMP と__ROW_ACTION フィールドに格納されます。
Note: SQLのCREATE TABLEとALTER TABLEコマンドを使用して複製情報の作成を有効にしたり無効にしたりできます。これを行うためにはENABLE REPLICATEとDISABLE REPLICATEキーワードを使用します。
警告: このオプションをチェックすると、複製メカニズムに必要な情報が公開されるようになります。データベース保護のため、 -- データが公開されている場合にそこへのアクセスを制限するのと同様に -- この情報へのアクセスを制限しなければなりません。結果、このオプションを使用して複製システムを実装する場合、以下の点を確認しなければなりません:
データベースごとのテーブルごとに複製メカニズムが有効になると、ローカルデータベースからSQLのREPLICATEコマンドを使用できます。詳細はこのコマンドの説明を参照してください。
プロダクト: 4D
テーマ: 4DでSQLを使用する
SQLリファレンス ( 4D v20 R8)