我有很多电话,比如:
DBMS_OUTPUT.put_line(v_1||','||v_2);
我只在数据库中读取了priveleges,invision从上面的语句将ouptut写入到以后可能读取的所有计算机上的公共位置(使用VBA)。
我已经找到了Oracle似乎支持的文件包,但是我很难理解如何让它做我想做的事情。
有人能给我提供一个简单的例子,说明我如何使用put_line方法和UTL_FILE包串联地写到一个公共位置,比如计算机的桌面?
发布于 2014-08-13 20:18:33
假脱机是一种SQL*Plus特性,它可以在桌面上执行,而无需调用UTL_FILE数据库包。蟾蜍(利用SQL*Plus功能)也可以做到这一点。
正如Justin所评论的,UTL_FILE是一个Oracle数据库包,用于读写数据库服务器(例如,11g文档file.htm#BABGGEDF)。
SQL*Plus (与Oracle11g数据库01/server.112/e 27507/sqlplus.htm#DFSUG144 144节3.1.7相关联)在这里记录了假脱机。
您可以在蟾蜍中选择“作为脚本运行”,如下所示:
set serveroutput on
spool c:\temp.lst
begin
dbms_output.put_line('My text');
end;
/
spool off假脱机是客户端特性( sql *Plus),因此,如果希望在一个过程中调用dbms_output (下面称为my_procedure),我只需创建一个驱动该过程的sql脚本。
可以将其作为sql脚本的内容(例如,test_dbms_output.sql):
SET serveroutput ON
spool c:\temp.lst
BEGIN
my_procedure(params);
END;
/
spool OFF然后,您只需使用SQL*Plus run命令(或蟾蜍中的“作为脚本运行”)调用此脚本:
@test_dbms_output.sql;或
run test_dbms_output.sql;https://stackoverflow.com/questions/25291067
复制相似问题