gpt4 book ai didi

sql - SELECT @@ROWCOUNT Oracle 等效项

转载 作者:行者123 更新时间:2023-12-05 01:46:59 25 4
gpt4 key购买 nike

我有一个查询管理应用程序。以前我使用的是 SQL Server 数据库,并通过我曾经执行的查询获取受影响的行数:

SELECT * FROM TABLE(或任何其他选择查询)

然后我执行 SELECT @@ROWCOUNT 以获取受最后执行的查询影响的行数。

我已阅读有关 SQL%ROWCOUNT 的内容,但我无法在 SELECT 语句中使用它

有没有办法在 Oracle 数据库中执行此操作?谢谢!

编辑:

我已经通过执行 SELECT COUNT(*) FROM (QUERY) 来获取受查询影响的行数来解决这个问题,我放弃了这种方法,因为如果查询包含一个 ORDER BY 子句。

最佳答案

我不知道您可以在纯 SQL 中使用 Oracle 中的任何完全等效项。

根据您的具体需要,另一种可能对您有用的替代方法是将 count(*) over () 添加到您的 select 语句中,以提供总行数。它至少可以让您免于第二次重新执行查询。

select t.*,
count(*) over () as num_rows
from table t
where ...

或者,如果你不能改变原来的查询,那么你可以像这样包装它:

select t.*,
count(*) over () as num_rows
from (query) t

关于sql - SELECT @@ROWCOUNT Oracle 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33020243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com