Показать сообщение отдельно
Старый 03.07.2013, 12:09   #5  
Мартынов Дмитрий is offline
Мартынов Дмитрий
Участник
 
236 / 66 (3) ++++
Регистрация: 02.02.2004
Адрес: г. Москва
Цитата:
Сообщение от Ace of Database Посмотреть сообщение
X++:
while (queryRun.next())
{
    salesTable = queryRun.get(tableNum(SalesTable));
    ttsbegin;
    updSalesTable = SalesTable::find(salesTable.SalesId, true);
    if (updSalesTable.RecId)
        updSalesTable.delete();
    ttscommit;
}

А без циклов что нибудь есть?
Мы же можем написать
X++:
delete_from salesTable where ...
И удалить все одной командой. А если еще и добавить перед этим
X++:
    salesTable.skipEvents(true);
    salesTable.skipDataMethods(true);
То будет все еще быстрее. Правда надо не забыть отработать то, что было в методах и тегах удаления другими способами...

Хочется чего то такого (следующий код является фантазией по этому во избежании путаницы ставлю тег PHP++):
PHP код:
    queryRun.skipEvents(true);
    
queryRun.skipDataMethods(true);
    
queryRun.deleteRecords();