Syniti Data Replication (DBMoto)では、レプリケーションジョブにスクリプトを組み込むことによって、ある程度レコードに操作を加えて、ターゲットデータベースにレプリケーションができます。
例えば、以下のスクリプトを組み込むことで、ソーステーブルに削除フラグを格納するカラムが存在し、そのカラムに対して削除フラグがたった場合、ターゲットテーブルのレコードを削除することが可能です。
“DFLUG” というカラムに格納されている値が1とUpdateされた場合、ターゲットレコードを削除するためのサンプルスクリプトです。
Imports System
Imports System.Data
Imports Microsoft.VisualBasic
Imports DBMotoPublic
Imports DBMotoScript
Imports DBRS.GlobalScript
Namespace DBRS
Public Class ReplicationScript : Inherits IReplicationScript
Public Overrides Sub Record_onAfterMapping( recSource As DBMotoPublic.IRecord, recTarget As DBMotoPublic.IRecord, ByRef AbortRecord As Boolean, ByRef DisableReplication As Boolean)
' ソーステーブルカラム名の変数
Dim strField As String
' ソース側へUpdateクエリが実行された時
If (recSource.OperationType = enmOperationType.Update) Then
' "DFLUG"というカラム名を指定し、値を取得
strField = CType(recSource.GetValueAfter("DFLUG").ToString(), Integer)
End If
' "DFLUG"の値が"1"だった場合、ターゲットのレコードにDeleteクエリを発行
If (strField = "1") Then
recTarget.OperationType = enmOperationType.Delete
End If
End Sub
End Class
End Namespace

RSSフィードを取得する