如何将 SQL select 语句的输出转换为文本

How to get output of SQL select statement into text

我正在尝试将 SQL select 语句的结果输​​出到电子邮件中,最好是文本。我正在使用 PL/SQL。我已经有一个电子邮件功能,我可以在其中指定邮件正文。但是,我不确定将 SQL select 语句结果放入任意行数的消息正文中的最佳方法。

举个例子,我可能想做 select name, data from my_table; 然后能够将其存储到 VARCHAR2 变量中,我可以将其包含在电子邮件中。

declare
    body varchar2(32000) := '';
begin
    for row in (select name, data from my_table) loop
        body := body || ' ' || row.name || ' ' || to_char(row.data) || chr(13)||chr(10) ; /*chr(13)||chr(10) is line feed carriage return*/
    end loop;
    p_email(body);
    exception
        when NO_DATA_FOUND then
            p_email('no data found');
        when others then
            raise;
end;