我正在尝试衡量精选费用的多少。通常我会简单地通过在执行语句之前获取一致获取的值来实现它,然而,之后,我想将它包装在PL / SQL中,以便它更通用。然而,我面临的问题是,如何在不实际存储结果的情况下简单地运行选择?
我的一个想法是将它包装在一个for循环中,如此
select value into getsBefore from v$sesstat ...
for dummy in (select name from my_table where city = 'XYZ') loop
i := i;
end loop;
select value into getsAfter from v$sesstat ...
但这似乎不是一种正确的做法。
我想我可以简化我的问题 - 我该怎样SELECT something INTO <nothing>
?
关于如何实现这一目标的任何想法或提示?
由于
答案 0 :(得分:1)
尝试:SELECT * bulk collect INTO [variable]
将此视为参考SELECT INTO Statement
答案 1 :(得分:0)
由于会话启动后V$SESSSTAT
中的计数器是绝对的,因此除了在操作之前存储快照,然后在执行操作后从新的快照中删除快照之外别无其他方法。
Tom Kyte最常用的脚本之一是 RUNSTATS ,旨在比较执行相同操作的两个操作,看看哪个实现更好。
找到包含说明的版本