`
wwty
  • 浏览: 537189 次
  • 性别: Icon_minigender_1
  • 来自: 北京-郑州
社区版块
存档分类
最新评论

oracle-dbms_output包

阅读更多

该DBMS_OUTPUT包使您可以发送存储过程,包信息,并触发。该封装是专为展示的PL / SQL调试的有用信息。

使用例子1:

DECLARE
yhzh VARCHAR2(19);
CURSOR c1 IS SELECT * FROM DM_NH_JBXX D WHERE D.DM_XZQH LIKE '410602010101%';
nh c1%ROWTYPE;
BEGIN
  OPEN c1;
  LOOP
    FETCH c1 INTO nh;
    EXIT WHEN c1%notfound;
    SELECT '95599'||LPAD(TO_CHAR(round(dbms_random.value(1000, 99999999999999))),14,'0') INTO yhzh FROM DUAL;
    --DBMS_OUTPUT.put_line(yhzh);
    --DBMS_OUTPUT.put_line(nh.NHBH);
    UPDATE DM_NH_JBXX X SET X.DM_YHLB='02',X.YHZH=yhzh WHERE X.NHBH=nh.NHBH;
  END LOOP;
  CLOSE c1;
END;
 

 

使用例子2:

       SELECT COUNT(1) INTO V_BTSXCOUNT FROM dm_sx_btxm WHERE dm_btxm = VI_DM_BTXM AND dm_sx_btxm = VI_DM_SX_BTXM;
       IF V_BTSXCOUNT<1 THEN
               dbms_output.put_line('没有补贴项目属性!');
               RETURN '';
       END IF;

 

作用:用于输入和输出信息,使用过程PUT和PUT_LINES可以将信息发送到缓冲区,使用过程GET_LINE和GET_LINES可以显示缓冲区信息.

详细如下:

1.enable    

该过程用于激活对过程PUT,PUT_LINE,GET_LINE,GET_LINES的调用

语法如下:

    dbms_output.enable(buffer_size in integer default 20000);

2.disable

该过程用于禁止对过程PUT,PUT_LINE,GET_LINE,GET_LINES的调用

语法如下:

    dbms_output.disable;

3.put和put_line

   过程put_line用于将一个完整行的信息写入到缓冲区中,过程put则用地分块建立行信息,   当使用过程put_line时,会自动在行的尾部追加行结束符;当使用过程put时,需要使用过程   new_line追加行结束符.

   示例如下:

    set serverout on

    begin

      dbms_output.put_line('伟大的中华民族');

      dbms_output.put('中国');

      dbms_output.put(',伟大的祖国');

      dbms_output.new_line;

    end;

    /

    伟大的中华民族

    中国,伟大的祖国

4.new_line

该过程用于在行的尾部追加行结束符.当使用过程PUT时,必须调用NEW_LINE过程来结束行.

5.get_line和get_lines

过程get_line用于取得缓冲区的单行信息,过程get_lines用于取得缓冲区的多行信息.

分享到:
评论

相关推荐

    如何使用Oracle数据库实现实时通信

    DBMS_OUTPUT包也有其他的缺点。就是DBMS_OUTPUT包不许数据库开发者实时的看到消息。 使用EmailUtils包,你可以简简单单的把数据写入一个电子邮件中,发送给自己,然后收到它的副本粘贴到自己喜欢的文档编辑器中。

    Oracle-03多表查询及编程

    --使用PLSQL输出三角形,只要是三个角 declare m number := 10; begin ... dbms_output.put('*'); else dbms_output.put(' '); end if; end loop; dbms_output.new_line(); end loop; end;

    oracle恢复工具-FY_Recover_Data

    exec dbms_output.enable(999999999999999999999); --//默认为2000 bytes 注意:如果不不进行设置,为报PLSQL ORA-20000: ORU-10027: buffer overflow, limit of 10000 第六步:实施truncate表中数据恢复 ...

    C# 访问Oracle示例+PL/SQL+存储过程+触发器 完整示例 测试可用 易懂

    C# 访问Oracle示例+PL/SQL+存储过程+触发器 完整示例 测试可用 --PL/SQL基础1 declare begin dbms_output.('不输出不换行'); dbms_output.put_line('输出并换行'); end; --PL/SQL基础2 declare dig number(20,...

    Oracle中PL/SQL中if语句的写法介绍

    代码如下:/*If语句:判断用户输入的数字。*/set serveroutput on –接收键盘输入accept num prompt ‘请输入一个数字:’; declare –将屏幕输入的数字付给... if pnum = 2 then dbms_output.put_line(‘您输入的是2’)

    oracle集合index-by表

    DECLARE TYPE num_tab IS TABLE OF ...dbms_output.put_line(to_char(v_example_tab2(1))||' '|| to_char(v_example_tab2(10))||' '|| to_char(v_example_tab2(-10))||' '|| to_char(v_example_tab2(v_num))); END;

    Oracle-04编程及游标

    declare m number := 3; begin for y in -m..m loop for x in -m..m loop ... dbms_output.put('*'); else dbms_output.put(' '); end if; end loop; dbms_output.new_line(); end loop; end;

    Oracle Exception汇总(自定义Oracle异常)

    Dbms_output.put_line(‘no_data_found’); ACCESS_INTO_NULL 为对象赋值前必需初始化对象。对应ORA-06530错误。 CASE_NOT_FOUND 使用CASE语句时在WHEN子句中没有包含必需的条件分支,并且没有包含ELSE语句。 对应...

    ora分析脚本

    Arguments are the same as for ash except that the output must be shown with the mxgraph tool - ash_sql &lt;sql_id&gt; Show all ash rows group by sampli_time and event for the specified sql_id - [-u ] ...

    Oracle系统包详细使用方法

    Oracle系统包 一.dbms_output 二.dbms_job 三.dbms_pipe 四.dbms_alert 五.dbms_transaction 六.dbms_session 七.dbms_rowid 八.dbms_rls 九.dbms_ddl 十.dbms_shared_pool 十一.dbms_random 十二.dbms_logmnr 十三....

    Oracle匿名块三种方法输出乘法表:loop/for/while

    Oracle用三种循环方法输出乘法表,比如loop的用法: m := 1; loop n := 1; loop dbms_output.put(m||'*'||n||'='||m*n||' '); n := n + 1; exit when n &gt; m; end loop; dbms_output.put_line(''); ...

    PLSQL高级编程资料

    8.1 DBMS_OUTPUT 程序包 8.1.1 开启屏幕显示 8.1.2 关闭屏幕显示 8.1.3 其他函数 8.1.4 引发的异常 8.2 UTL_FILE 程序包 8.2.1 概述 8.2.2 函数描述 8.2.3 例程 8.3 TEXT_IO 程序包 第九章 管理数据作业 9.1 DBMS_...

    oracle触发器实例讲解

    oracle触发器实例讲解2008-11-27 09:17--[6]// Oracle Trigger ---------------------------------------------------------------------------------------------// --实例1------------------------ --创建触发器...

    Oracle上课PPT和案例

    (dbms_output.put_line()负责输出) set verify(ver)on/off:是否显示替换变量被替换前后的语句(用在sql语句中有替换变量或以& &&开头的时候); v_ename emp.ename%type; --v_ename是定义的变量;emp是查选的表ename...

    如何从Oracle 8i中直接发送电子邮件

    他们必须使用dbms_output.put_line调用,这个调用直到过程完成才返回结果。 在本文中,我想演示如何从Oracle 8i数据库直接发送电子邮件,作为一种实时通信解决方案。我们的做法是把所有必需的过程与函数包装在自定义...

    oracle sql 99乘法表

    用oracle实现99乘法表,简单的dbms_output包练习。

    oracle数据库

    数据库笔记--PL_SQL &gt; set serveroutput on;(把内部环境变量设置为on) &gt; begin dbms_output.put_line('HelloWorld!'); end; /

    oracle实验报告

    DBMS_OUTPUT.PUT_LINE('和为:'||TO_CHAR(a)); END; / 【例3-2】:使用%TYPE声明变量,输出制定表中的相关信息。 DECLARE my_name student.sname%TYPE; BEGIN SELECT sname INTO my_name FROM student WHERE no...

    oracle 输出显示

    用dbms_output.put_line 不显示

    精髓Oralcle讲课笔记

    -- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unlock; --那么这个用户名就能使用了。 --(默认全局数据库名orcl) 1、...

Global site tag (gtag.js) - Google Analytics