在 SQR 中获取从 select 返回的记录数

Get number of records returned from select in SQR

我有一个 SQR Begin-Select 语句,其中 SELECTS 一堆数据和 return 用于处理 SQR 报告。 Begin-Select 有可能 return 什么都没有,所以这意味着没有什么可报告的。

我如何检查 Begin-Select return 的语句中是否没有行?

我想在 Begin-Select 中包含一个 COUNT(*),但我不想 GROUP BY 任何东西。这是我的 Begin-Select 的样子。

Begin-Select On-Error=Global-Got-Fatal-SQL-Error
B.InvrExtAcctNbr        &InvrLoanNbr
A.AcctNbr               &AcctNbr
C.RtxnNbr               &AcctGrpNbr

    !- Process each record
    #Debug Show 'Processing AcctNbr: ' &AcctNbr
    !Do Process-Record
    #Debug Show 'Processed AcctNbr: ' &AcctNbr

 FROM FooBar    A,
       JohnDoe  B,
       SQRNoob  C
 WHERE A.QueNbr = $QueNbr /* 123 */
      AND A.QueSubNbr = $QueSubNbr /* 456 */
      AND A.ApplNbr = $ApplNbr /* 789 */
        AND A.AcctNbr = C.AcctNbr
        AND A.RtxnNbr = B.AcctGrpNbr
 ORDER BY A.AcctNbr
End-Select

我想检查是否有任何东西从 Begin-Select 中 returned。我试过这个:

Begin-Select On-Error=Global-Got-Fatal-SQL-Error
COUNT(A.AcctNbr)        &TotalRows
B.InvrExtAcctNbr        &InvrLoanNbr
A.AcctNbr               &AcctNbr
C.RtxnNbr               &AcctGrpNbr
...

但我不想在语句末尾使用 GROUP BY 子句。我也不想将它分成两个单独的 SELECT 语句。一个用于实际选择数据,另一个用于 COUNT(A.AcctNbr).

是否有任何其他方法可以从该 SELECT 语句中获取行数 return。

我的全部问题是,如果没有行return,我不必处理表格。所以实际上我只需要检查 Begin-Select return 是否 一个或多个 行。如果它 returns no 行,那么我将停止处理 SQR。

嗯,暴力破解法:

Let #Count = 0
Begin-Select
Variables
   add 1 to #Count
From etc
End-Select
If #Count = 0

我能想到的最简单的方法 - 我尝试了#SQL-COUNT,但这只适用于插入、删除和更新语句,不适用于 select。