plsql的dbms_output.put_line只能调用一次吗?批处理连接数据库怎么显示执行时间
我想用批处理连接数据库执行@C:\数据.sql,并在执行前后显示事件的开始和结束时间,数据.sql,是我封装好的,不显示标题,结果和一切内容,里头含有spool,执行后会...
我想用批处理连接数据库执行@C:\数据.sql,并在执行前后显示事件的开始和结束时间,数据.sql,是我封装好的,不显示标题,结果和一切内容,里头含有spool,执行后会导出文件。我就是想,怎么在批处理的时候,在窗口显示 数据开始时间,结束时间,共用时多少。
用以下语句在命令窗口执行,只显示第一个 dbms_output.put_line的内容,最后一个内容则不显示。
set serveroutput on;
begin
dbms_output.put_line('数据开始提取 '||to_char(sysdate,'yyyymmdd hh24:mi:ss'));
end;
/
@C:\数据.sql;
begin
dbms_output.put_line('数据提取结束 '||to_char(sysdate,'yyyymmdd hh24:mi:ss'));
end;
/ 展开
用以下语句在命令窗口执行,只显示第一个 dbms_output.put_line的内容,最后一个内容则不显示。
set serveroutput on;
begin
dbms_output.put_line('数据开始提取 '||to_char(sysdate,'yyyymmdd hh24:mi:ss'));
end;
/
@C:\数据.sql;
begin
dbms_output.put_line('数据提取结束 '||to_char(sysdate,'yyyymmdd hh24:mi:ss'));
end;
/ 展开
1个回答
展开全部
给你个例子你就懂了呀
创建一个测试表
create table test (f_date date);
执行下边这个
declare v_sql varchar2(2000);--要定义一个存放sql语句的变量begin v_sql:='insert into test values (sysdate)';--给sql赋值 dbms_output.put_line(v_sql);--打印 execute immediate v_sql;--执铅纯行sql commit;end;
然后你在select * from test看下结果侍枝吧槐谈咐
创建一个测试表
create table test (f_date date);
执行下边这个
declare v_sql varchar2(2000);--要定义一个存放sql语句的变量begin v_sql:='insert into test values (sysdate)';--给sql赋值 dbms_output.put_line(v_sql);--打印 execute immediate v_sql;--执铅纯行sql commit;end;
然后你在select * from test看下结果侍枝吧槐谈咐
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询