Oracle 如何假脱机此pl/SQL过程的结果
是的,我知道,我也读过,不可能假脱机pl/sql程序,那个人应该使用utl_文件,但实际上,我不知道它是如何工作的。有人能帮忙吗?或者只是告诉我怎么做 这是我的代码,我有一个游标,我想将这个游标的结果假脱机,你可以在dbms_输出中看到Oracle 如何假脱机此pl/SQL过程的结果,oracle,plsql,Oracle,Plsql,是的,我知道,我也读过,不可能假脱机pl/sql程序,那个人应该使用utl_文件,但实际上,我不知道它是如何工作的。有人能帮忙吗?或者只是告诉我怎么做 这是我的代码,我有一个游标,我想将这个游标的结果假脱机,你可以在dbms_输出中看到 set serveroutput on clear screen; spool C:\Users\p.k\Documents\text.txt declare l_output utl_file.file_type; cursor cp_
set serveroutput on
clear screen;
spool C:\Users\p.k\Documents\text.txt
declare
l_output utl_file.file_type;
cursor cp_username (p_v_username in varchar2)
is
select owner, table_name
from all_tables
where owner = p_v_username
order by owner, table_name ;
begin
l_output := utl_file.fopen();
dbms_output.put_line('Alle Tabellen der User: &g_username');
for cp_kur in cp_username('&g_username') loop
dbms_output.put_line('Tabelle: '|| cp_kur.table_name );
end loop;
end;
spool off;
我已经开始首先使用spool,但他已经创建了文件,并将输出与错误放在一起,然后我开始使用utl_文件查看教程。。。但是我现在迷路了您需要使用
utl\u文件。请按如下方式放置
:
declare
l_output utl_file.file_type;
begin
l_output := utl_file.fopen(
'utl_dir' -- File location
, 'test_file.txt' -- File name
, 'w' -- Open mode: w = write.
);
utl_file.put(l_output,'Alle Tabellen der User: &g_username');
for cp_kur in (select owner, table_name
from all_tables
where owner = '&g_username'
order by owner, table_name) loop
utl_file.put(l_output, 'Tabelle: '|| cp_kur.table_name );
end loop;
utl_file.fclose(l_output);
end;
我使用过你的版本,但我有一些错误,比如:我必须声明id“FHANDLE”,变量l_output中有太多的东西,我不知道它是否与你一起工作我使用过你的版本,但我还有一个错误:变量l_output中有太多的东西,我不知道它是否与你一起工作,谢谢我尝试并有一个pb同样,由于我的服务器使用Linux操作系统,并且没有“C:\Users\p.k\Documents”,我只能在我的PC上本地访问。但我有一个问题,“我不可能只使用spool?
utl\u文件
只能在DB服务器上写入该文件。”。如果要在本地系统(DB客户端)中创建文件,则需要SPOOL。你需要自己试一下线轴,如果你发现任何困难,那么就穿上它。