【发布时间】:2016-01-07 16:05:43
【问题描述】:
我一直在尝试做一些非常简单的事情,但仍然做不到。 我正在尝试对表进行交互并使用 where 子句中列的每一行来显示查询。
例如:
我想从 dba_users 中检索所有用户,将其传递给查询中的 where 子句,以显示每个用户的 account_status 和 profile。但我想以某种方式将结果转换为许多 html 表格。
我真的尝试了太多东西,所以我会发布一些不起作用但我认为会显示我遇到的问题的东西,
BEGIN
FOR i IN (SELECT username from dba_users order by 1)
LOOP
EXECUTE IMMEDIATE 'select account_status from dba_users where username like ''||i.username||''';
END LOOP;
END;
/
编辑:这是我想要实现的另一个示例:
-
从 V$SQL 中读取 2 个 SQL_ID
SQL> select sql_id from v$sql where rownum
SQL_ID
9avfy3fv2wq2x
0ywp98ffdz77f 使用这些返回的 ID 收集一些性能信息并在两个结果集中获取结果
-- HTML 标记
set markup HTML ON HEAD " -
" -
BODY "" -
TABLE "border='1' align='center' summary='Script output'" -
SPOOL ON ENTMAP ON PREFORMAT OFF
select sql_id, loads_total from dba_hist_sqlstat where sql_id like '9avfy3fv2wq2x';
select sql_id, loads_total from dba_hist_sqlstat where sql_id like '0ywp98ffdz77f';
我得到以下结果
SQL_ID LOADS_TOTAL
------------- -----------
9avfy3fv2wq2x 21
SQL_ID LOADS_TOTAL
------------- -----------
0ywp98ffdz77f 12
使用标记标签,这会转化为:
提前感谢您的宝贵时间,
好
【问题讨论】:
-
你必须选择一些东西 - 使用光标。
-
运行一个简单的查询来获取必要的数据。使用应用程序代码显示它。
-
我不能,因为我想要的是单独的结果,如果我选择进入,它会告诉我 ORA-01422: exact fetch 返回的行数超过了请求的行数。