如何查看X ++ select语句的SQL表达式?

Raa*_*aas 2 sql sql-server x++ axapta dynamics-ax-2012

我在AX的一份工作中有以下声明:

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

我必须在SQL Server中使用它.如何将此select语句转换为SQL并在SQL Server Management Studio中使用它?

小智 6

出于调试目的,您可以更改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());
Run Code Online (Sandbox Code Playgroud)

这将显示SQL语句而不实际执行该语句.

  • 您还可以添加`forceLiterals`来查看精确值而不是参数.https://msdn.microsoft.com/en-us/library/aa656402.aspx (2认同)