gpt4 book ai didi

sql - 是否可以从 PL/SQL block 输出 SELECT 语句?

转载 作者:行者123 更新时间:2023-12-03 05:42:20 26 4
gpt4 key购买 nike

如何让 PL/SQL block 以与执行普通 SELECT 相同的方式输出 SELECT 语句的结果?

例如如何执行SELECT,例如:

SELECT foo, bar FROM foobar;

提示:

BEGIN
SELECT foo, bar FROM foobar;
END;

不起作用。

最佳答案

您可以在 Oracle 12.1 或更高版本中执行此操作:

declare
rc sys_refcursor;
begin
open rc for select * from dual;
dbms_sql.return_result(rc);
end;

我没有用于测试的 DBVisualizer,但这可能应该是您的起点。

有关更多详细信息,请参阅 Oracle 12.1 New Features Guide 中的隐式结果集, Oracle Base等等

对于早期版本,根据工具,您可能能够使用引用游标绑定(bind)变量,如 SQL*Plus 中的示例:

set autoprint on

var rc refcursor

begin
open :rc for select count(*) from dual;
end;
/

PL/SQL procedure successfully completed.


COUNT(*)
----------
1

1 row selected.

关于sql - 是否可以从 PL/SQL block 输出 SELECT 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/351489/

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