Показать сообщение отдельно
Старый 18.09.2009, 15:49   #1  
vallys is offline
vallys
Developer
 
146 / 108 (0) +++++
Регистрация: 18.01.2005
Цитата:
Сообщение от Alexx7 Посмотреть сообщение
В таблице ProdBOM требуется проверить, чтобы ItemID во всех строках был одинаковый.
А зачем делать лишнюю работу по формированию контейнера/массива? Сразу спросите у sql-сервера, есть ли повторяющиеся ItemID...
Вариантов может быть несколько, например так:
X++:
static void TestJob(Args _args)
{
    ProdBOM     prodBOM;
    ProdBOM     prodBOM2;
    ;
    select firstonly ItemId
        from ProdBOM
        where ...;
    select firstonly ItemId
        from prodBOM2
        where ... &&
                 prodBOM2.ItemId != prodBOM.ItemId;
    if (prodBOM2)
        info(strfmt("В таблице ProdBOM встречаются как минимум два значения ItemId: '%1'; '%2'", prodBOM.ItemId, prodBOM2.ItemId));
    else
        info(strfmt("В таблице ProdBOM встречается только одно значение ItemId: '%1'", prodBOM.ItemId));
}
З.Ы. Опоздал
З.Ы.Ы. to fed: select (без while и next) желательно использовать c firstonly

Последний раз редактировалось vallys; 18.09.2009 в 15:56.
За это сообщение автора поблагодарили: mazzy (2), Alexx7 (1).