在 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。
我有一个 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。