Как увидеть SQL-выражение оператора select X++?

У меня есть инструкция ниже в работе в AX:

select RecId from pjiTable 
    join pID, Type, PrId from sjTable
    where pjiTable.Prid == sjTable.PrId &&
         (sjTable.Type == PjType::TimeMaterial || sjTable.Type == PjType::FixedPrice);

Я должен использовать его в SQL Server. Как я могу преобразовать этот оператор select в SQL и использовать его в SQL Server Management Studio?


person Raas    schedule 23.04.2015    source источник


Ответы (1)


В целях отладки вы можете изменить свой select запрос и использовать getSQLStatement в вашей таблице:

select generateOnly forceLiterals RecId from pjiTable 
    join pID, Type, PrId from sjTable 
    where pjiTable.Prid == sjTable.PrId  &&
         (sjTable.Type == PjType::TimeMaterial || sjTable.Type == PjType::FixedPrice);    
info(pjiTable.getSQLStatement());

Это покажет вам оператор SQL без фактического выполнения оператора.

person Maxim Lazarev    schedule 23.04.2015
comment
Вы также можете добавить forceLiterals, чтобы увидеть точные значения вместо параметров. msdn.microsoft.com/en-us/library/aa656402.aspx - person Matej; 23.04.2015