如果独立的sql语句如下,在SQL PLUS上是可以实现的
set linesize 200
set term off verify off feedback off pagesize 999
set up html on entmap ON spool on preformat off
spool c:\tables.xls
select * from dba_jobs;
spool off;
但我把它弄到一个存储过程以后,如下:
create procedure test
as
begin
set linesize 200
set term off verify off feedback off pagesize 999
set up html on entmap ON spool on preformat off
spool c:\tables.xls
select * from dba_jobs;
spool off;
ends;就出错了,为什么会出错呢?
难道set那几行在存储过程里面不能用?
set linesize 200
set term off verify off feedback off pagesize 999
set up html on entmap ON spool on preformat off
spool c:\tables.xls
select * from dba_jobs;
spool off;
但我把它弄到一个存储过程以后,如下:
create procedure test
as
begin
set linesize 200
set term off verify off feedback off pagesize 999
set up html on entmap ON spool on preformat off
spool c:\tables.xls
select * from dba_jobs;
spool off;
ends;就出错了,为什么会出错呢?
难道set那几行在存储过程里面不能用?
SET /SPOOL等等这些是SQLPLUS的命令 不是存储过程的命令
set term off verify off feedback off pagesize 999
set up html on entmap ON spool on preformat off
spool c:\tables.xls
select * from dba_jobs;
spool off;把这些配置都放在test.sql文件里,再用
sql>@path/test.sql;
执行