2

while select クエリで一時テーブルにレコードを挿入しています。以前にレコードを追加した場合、それを制御する必要がありますか?

4

3 に答える 3

1

挿入プロセスを呼び出す前に、レコードを確認してください。

//Build query above
while (qr.next())
{
    SourceTable = qr.get(tablenum(SourceTable));

    select DestTable
        where DestTable.Field1 == SourceTable.Field1; //Replace with criteria that determines if records are the same

    if (!DestTable)
    {
        DestTable.Field1 = SourceTable.Field1;
        DestTable.Field2 = SourceTable.Field2;
        DestTable.Field3 = SourceTable.Field3;
        DestTable.Insert();
    }

}

//Once processing is finished
if (element.prompt())
{
    while select DestTable            
    {
        element.send(DestTable);
    }
}
else
{
    return false;
}

基本的に、挿入されるものと一致するレコードを選択してみてください。レコードが返されない場合は、それを挿入します。それ以外の場合は、次のレコードに進みます。

于 2013-04-01T15:28:18.030 に答える