![](/img/trans.png)
[英]Oracle SQL%ROWCOUNT equivalent for DBMS_PARALLEL_EXECUTE
[英]SELECT @@ROWCOUNT Oracle equivalent
我有一個查詢管理應用程序。 以前,我使用的是SQL Server數據庫,並通過我以前執行的查詢來獲取受影響的行數:
SELECT * FROM TABLE
(或任何其他選擇查詢)
然后我執行SELECT @@ROWCOUNT
以獲取受最后執行的查詢影響的行數。
我已經閱讀了有關SQL%ROWCOUNT
,但無法使其在SELECT語句中工作
在Oracle數據庫中有什么方法可以做到這一點? 謝謝!
編輯:
我已經通過執行SELECT COUNT(*) FROM (QUERY)
來獲取受查詢影響的行數來解決此問題,我建議這種方法,因為如果查詢包含ORDER BY
子句,則該方法在SQL Server中不起作用。
我不知道您可以在純SQL中使用Oracle中的任何等效項。
根據您的特定需求,一種可能對您有用的替代方法是在您的select
語句中count(*) over ()
上添加一個count(*) over ()
以提供總的行數。 這樣至少可以避免您不得不第二次重新執行查詢。
select t.*,
count(*) over () as num_rows
from table t
where ...
或者,如果您不能更改原始查詢,則可以如下包裝:
select t.*,
count(*) over () as num_rows
from (query) t
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.