oracle - 如何输出使用 native 动态SQL执行的SELECT语句的结果?

标签 oracle plsql

我有一个包含SQL SELECT语句的字符串。
我想知道如何在屏幕上输出该语句的执行结果,执行将使用本地动态SQL (EXECUTE IMMEDIATE)完成

例子:

DECLARE
v_stmt VARCHAR2 := 'SELECT * FROM employees';
BEGIN
EXECUTE IMMEDIATE v_stmt; -- ??? how to output result of that select on the screen.
END;

重要说明:表的结构可以是任何结构。我必须编写一个接受表名称作为参数的过程,因此我无法对表结构进行硬编码,也不想这样做。

感谢您的回复。任何想法非常赞赏/

最佳答案

如果您可以将立即执行更改为dbms_sql游标,则以下解决方案应该可以为您提供帮助,因为您可以从dbms_sql游标获取列名:

https://forums.oracle.com/forums/thread.jspa?threadID=700648

关于oracle - 如何输出使用 native 动态SQL执行的SELECT语句的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14528853/

相关文章:

sql - 将数据库复制到本地机器-ORACLE

oracle - PL/SQL 编译错误 - PLS-00382 : expression is of wrong type

oracle - PLS-00103 : Encountered the symbol “end-of-file” when expecting one of the following: begin function pragma procedure

oracle - 我的程序中不断出现错误,这些错误有助于添加新类(class),并在说明中提出了要求

oracle - PL/SQL 编译失败,没有错误信息

sql - (未成功)测试Oracle SQL中索引的效果

java - 错误: ORA-00923: FROM keyword not found where expected (JDBC)

oracle - 如何获取链接到特定表的所有触发器?

sql - 在 Oracle 中执行大型查询并返回行

oracle - is 与 as pl/sql