Показать сообщение отдельно
Старый 23.11.2010, 01:07   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от gl00mie Посмотреть сообщение
последовательно нужно заменить на
а почему последовательно?

в рамках одной транзакции уникальность может быть нарушена.
главное, чтобы она не нарушалась за пределами транзакции.

X++:
// test for [url=http://axforum.info/forums/showthread.php?t=35529]Последовательная замена множества уникальных значений на другие без возникновения дубликатов[/url]
static void Job13(Args _args)
{
    Table1  Table1;

    ttsbegin;
    // очистка
    delete_from Table1;

    // заполнение первоначальными значениями
    Table1.clear();   Table1.Key = "0";    Table1.NewKey = "1"; Table1.insert();
    Table1.clear();   Table1.Key = "1";    Table1.NewKey = "2"; Table1.insert();
    Table1.clear();   Table1.Key = "3";    Table1.NewKey = "3"; Table1.insert();
    Table1.clear();   Table1.Key = "7";    Table1.NewKey = "4"; Table1.insert();
    Table1.clear();   Table1.Key = "9";    Table1.NewKey = "5"; Table1.insert();
    Table1.clear();   Table1.Key = "15";   Table1.NewKey = "6"; Table1.insert();
    Table1.clear();   Table1.Key = "20";   Table1.NewKey = "7"; Table1.insert();
    ttscommit;

    // здесь можно остановиться и обозреть таблицу
    //break;

    ttsbegin;
    UPDATE_RECORDSET Table1 SETTING key = Table1.newKey;
    ttscommit;
}
Изображения
 
Вложения
Тип файла: xpo SharedProject_test.xpo (4.0 Кб, 262 просмотров)
__________________
полезное на axForum, github, vk, coub.