Oracle中dbms_output.put_line的用法实例

目录
  • 1、enable:
  • 2、disable:
  • 3、put:
  • 4、put_line:
  • 5、new_line:
  • 6、get_line(value, index):
  • 7、get_lines(array, index):
  • 总结

dbms_output.put_line的用法

涉及到的知识点如下:

1、enable:

在serveroutput on的情况下,用来使dbms_output生效(默认即打开)

set serveroutput on --将output 服务打开

2、disable:

在serveroutput on的情况下,用来使dbms_output失效

set serveroutput off --将output 服务关闭

3、put:

将内容写到内存,等到put_line时一起输出,new_line的时候也可以输出。

begin
  dbms_output.put_line('hello world1111111');
  dbms_output.new_line();
  dbms_output.put('Hello, Lao An ');
  dbms_output.put('Hello, Lao An ');
  dbms_output.new_line();
  dbms_output.put_line('Hello, Lao An ');
end;
/

输出:

4、put_line:

不用多说了,输出字符,并刷新buffer,前提是set severoutput on;

exec dbms_output.put_line('hello world1111111');

5、new_line:

作为一行的结束,可以理解为写入buffer时的换行符

set serveroutput on
begin
  dbms_output.put_line('hello world1111111');
  dbms_output.put('Hello, Lao An');
  dbms_output.new_line();
  dbms_output.put_line('Hello, Lao An');
end;
/

这里运用了begin+/来执行PL/SQL过程,我解释一下oracle中斜杠(/)的含义

斜杠就是让服务器执行前面所写的sql脚本。如果是普通的select语句,一个分号,就可以执行了。但是如果是存储过程,那么遇到分号,就不能马上执行了。这个时候,就需要通过斜杠(/)来执行。

6、get_line(value, index):

获取缓冲区的单行信息。

注:使用get_line时不能用put_line输出,因为put_line之后会将buffer清空。(当然在serveroutput off的情况下put_line是不影响buffer的)。

7、get_lines(array, index):

以数组形式来获取缓冲区的多行信息

declare
   v_data dbms_output.chararr;   --先声明局部变量
   v_numlines number;
begin
   --enable the buffer first.
   dbms_output.enable(1000000);   --设置缓冲区的大小                      

   dbms_output.put_line('line one');
   dbms_output.put_line('line two');
   dbms_output.put_line('line three');                 

   v_numlines := 3;
   dbms_output.get_lines(v_data, v_numlines);  --array, index
   for v_counter in 1..v_numlines loop
       dbms_output.put_line(v_data(v_counter));
   end loop;
end;
/

输出:

总结

到此这篇关于Oracle中dbms_output.put_line用法的文章就介绍到这了,更多相关Oracle dbms_output.put_line用法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-06-22

[Oracle] dbms_metadata.get_ddl 的使用方法总结

dbms_metadata.get_ddl()用于获取对象的DDL,其具体用法如下.注意:在sqlplus里,为了更好的展示DDL,需要设置如下参数: 复制代码 代码如下: set line 200set pagesize 0set long 99999set feedback offset echo off 1)获得表.索引.视图.存储过程.函数的DDL 复制代码 代码如下: select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OW

Oracle随机函数之dbms_random使用详解

dbms_random是oracle提供的一个随机函数包,以下介绍一些dbms_random的常用示例: dbms_random.value用法: 生成一个大于等于0,小于等于1的38位小数 复制代码 代码如下: -- FUNCTION value RETURN NUMBER; select dbms_random.value from dual; SQL> select dbms_random.value from dual; VALUE ---------- 0.61011338 复制代码

oracle数据库定时任务dbms_job的用法详解

一.dbms_job涉及到的知识点 1.创建job: variable jobno number; dbms_job.submit(:jobno, --job号 'your_procedure;',--执行的存储过程, ';'不能省略 next_date, --下次执行时间 'interval' --每次间隔时间,interval以天为单位 ); –系统会自动分配一个任务号jobno. 2.删除job: dbms_job.remove(jobno); 3.修改要执行的操作: job:dbms_j

Oracle中使用DBMS_XPLAN处理执行计划详解

DBMS_XPLAN是Oracle提供的一个用于查看SQL计划,包括执行计划和解释计划的包:在以前查看SQL执行计划的时候,我都是使用set autotrace命令,不过现在看来,DBMS_XPLAN包给出了更加简化的获取和显示计划的方式. 这5个函数分别对应不同的显示计划的方式,DBMS_XPLAN包不仅可以获取解释计划,它还可以用来输出存储在AWR,SQL调试集,缓存的SQL游标,以及SQL基线中的语句计划,实现如上的功能,通常会用到一下5个方法: 1.DISPLAY 2.DISPLAY_A

oracle中的procedure编写和使用详解

1.创建/修改 CREATE [OR REPLACE] PROCEDURE procedure_name [(parameter_list)] {IS|AS} [local_declarations] BEGIN executable_statements [EXCEPTION exception_handlers] END [procedure_name]; a.parameter_list格式如下 parameter_name1 [in | out | in out] type, param

MySQL中通过EXPLAIN如何分析SQL的执行计划详解

前言 在MySQL中,我们可以通过EXPLAIN命令获取MySQL如何执行SELECT语句的信息,包括在SELECT语句执行过程中表如何连接和连接的顺序. 下面分别对EXPLAIN命令结果的每一列进行说明: .select_type:表示SELECT的类型,常见的取值有: 类型 说明 SIMPLE 简单表,不使用表连接或子查询 PRIMARY 主查询,即外层的查询 UNION UNION中的第二个或者后面的查询语句 SUBQUERY 子查询中的第一个 .table:输出结果集的表(表别名) .t

Oracle中命名块之存储过程的详解及使用方法

一.匿名块和命名块 ◆PL/SQL块分为良好总:命名块和匿名块. ◆匿名块:以declare或begin开始,每次执行匿名块都要通过客户端工具将其发送给Oracle,经过语法分析.编译然后执行. ◆命名块:具有名称的PL/SQL块,这些命名块被存储在Oracle中,编译一次,以后只可调用就可多次执行.如:存储过程.存储函数.包.触发器等. 存储过程:无返回值;   存储函数:有返回值;   包:可容纳多个过程或函数的一个容器(较好管理这些过程和函数,类似于java中的包);   触发器:在合适的

Node.js中使用计时器定时执行函数详解

如果你熟悉客户端JavaScript编程,你可能使用过setTimeout和setInterval函数,这两个函数允许延时一段时间再运行函数.比如下面的代码, 一旦被加载到Web页面,1秒后会在页面文档后追加"Hello there": 复制代码 代码如下: var oneSecond = 1000 * 1; // one second = 1000 x 1 ms setTimeout(function() { document.write('<p>Hello there.

sql – Oracle中匿名TABLE/VARRAY类型示例详解

前言 本文主要介绍的是关于sql Oracle匿名TABLE/VARRAY类型的相关内容,在Oracle中,我有时会创建一些这样的结构 SELECT * FROM TABLE(STRINGS('a', 'b', 'c')) SELECT * FROM TABLE(NUMBERS(1, 2, 3)) 显然,我可以为上述声明我自己的类型.我可以在TABLE和VARRAY之间进行选择.例如: CREATE TYPE STRINGS AS TABLE OF VARCHAR2(100); CREATE T

Js中async/await的执行顺序详解

前言 虽然大家知道async/await,但是很多人对这个方法中内部怎么执行的还不是很了解,本文是我看了一遍技术博客理解 JavaScript 的 async/await(如果对async/await不熟悉可以先看下这篇文章)后拓展了一下,我理了一下await之后js的执行顺序,希望可以给别人解疑答惑,先简单介绍一下async/await. async/await 是一种编写异步代码的新方法.之前异步代码的方案是回调和 promise. async/await 是建立在 promise 的基础上

Swift中defer关键字推迟执行示例详解

前言 大家应该都知道,在一些语言中,有try/finally这样的控制语句,比如Java. 这种语句可以让我们在finally代码块中执行必须要执行的代码,不管之前怎样的兴风作浪. 在Swift 2.0中,Apple提供了defer关键字,让我们可以实现同样的效果. func checkSomething() { print("CheckPoint 1") doSomething() print("CheckPoint 4") } func doSomething(

Oracle中dblink的实际应用示例详解

前言 本文介绍的是关于Oracle同义词+dblink的实际应用,下面话不多说了,来一起看看详细的介绍吧. 业务需求:原数据库(10.2.0.4.0),新数据库(11.2.0.3) 由于程序的需求原因,现在需要把新库上的某个用户直接映射到老库用户下: 1. 备份原库的用户 nohup exp scott/scott OWNER=scott BUFFER=10240000 STATISTICS=none RESUMABLE=y FILE=scott_all_exp.dmp LOG=scott_al

对for循环中表达式和循环体的执行顺序详解

对于学c的朋友来说,for循环可能使我们经常用到的一种循环语句 for(表达式1:表达式2:表达式3){循环体} 知道其的语句执行顺序对我们来说可以避免很多失误 我们可以利用下面这个小程序轻易测出其内在的语句循环顺序: #include<stdio.h> void main() { int i; for (printf("#1\n"),i=1; printf("#2\n"),i<=5; printf("#3\n"),i++) {