Dbms_Output包

No.

子程序名称

描述

1

enable

打开缓冲区,当用户使用

“SET SERVEROUTPUT ON”命令时,自动调用此语句

2

disable

关闭缓冲区,当用户使用

“SET SERVEROUTPUT OFF”命令时,自动调用此语句

3

put

将内容保存到缓冲区中,不包含换行符,等执行put_line时一起输出

4

put_line

直接输出指定内容,包括换行符

5

new_line

在行尾添加换行符,在使用PUT时必须依靠new_line来添加换行符

6

get_line

获取缓冲区中的单行信息

子程序定义:“procedure   get_line(line out varchar2, status out integer);”

参数作用: line:被get_line取回的行;

status:是否取回一行,如果设置为1表示取回一行,如果0表示没有取回数据。

7

get_lines

以数组的形式来获取缓冲区中的所有信息

子程序定义:“procedure get_lines(lines out chararr,   numlines in out integer);”

参数作用:

line:被get_line取回的行,是一个CHARARR类型,此类型是一个VARCHAR2(255)的嵌套表,

会返回缓冲区的多行信息;

status:是否取回一行,如果设置为1表示取回一行,如果0表示没有取回数据;

numlines:如果作为输入参数表明要返回的行数;作为返回参数表示实际取回的行数。

示例一、设置输出打开,enable和关闭disable

BEGIN
dbms_output.enable; --启用缓冲
dbms_output.put_line('可以显示');
END;
BEGIN
dbms_output.disable; --关闭缓冲
dbms_output.put_line('不可以显示');
END;

示例二、设置缓冲区

BEGIN
dbms_output.enable; --启用缓冲
dbms_output.put('www'); --向缓冲区中增加内容
dbms_output.put('163.com'); --向缓冲区中增加内容
dbms_output.new_line; --换行,输出之间缓冲区的内容
dbms_output.put('www.baidu.com'); --向缓冲区中增加内容
dbms_output.new_line; --换行,输出之间缓冲区的内容
dbms_output.put('www.qq.com'); --向缓冲区中增加内容
END;
结果:
www163.com
www.baidu.com
最后一行因为没有换行,此内容不输出

示例三、使用get_line()和get_lines()函数取回缓冲区数据

DECLARE
v_line1 VARCHAR2(200);
v_line2 VARCHAR2(200);
v_status NUMBER;
BEGIN
dbms_output.enable; --启用缓冲
dbms_output.put('www.baidu.com'); --向缓冲区中增加内容
dbms_output.new_line; --换行,输出之间缓冲区的内容
dbms_output.put('www.qq.com'); --向缓冲区中增加内容
dbms_output.new_line; --换行,输出之间缓冲区的内容
dbms_output.get_line(v_line1,v_status); --读取缓冲区一行
dbms_output.get_line(v_line2,v_status); --读取缓冲区一行
dbms_output.put_line(v_line1); --读取缓冲区一行
dbms_output.put_line(v_line2); --读取缓冲区一行
END;
-------------
DECLARE
v_lines dbms_output.chararr; --定义charrarr变量 v_status NUMBER;
BEGIN
dbms_output.enable; --启用缓冲
dbms_output.put('www.baidu.com'); --向缓冲区中增加内容
dbms_output.new_line; --换行,输出之间缓冲区的内容
dbms_output.put('www.qq.com'); --向缓冲区中增加内容
dbms_output.new_line; --换行,输出之间缓冲区的内容
dbms_output.get_lines(v_lines,v_status); --读取缓冲区一行
FOR x IN 1..v_lines.count LOOP
dbms_output.put_line(v_lines(x)); --读取缓冲区一行
END LOOP;
END;
DBMS_ASSERT包
No. 子程序 描述
1 ENQUOTE_LITERAL 接收一个字符串,并且在字符串的前后都加上单引号
2    
3    
4    
5    
6    
7    

示例四、为字符串的前后都加上单引号

SELECT dbms_assert.ENQUOTE_LITERAL('www.hellojava') FROM dual;

示例五、为字符串的前后都加上双引号

SELECT dbms_assert.ENQUOTE_NAME('www.hellojava') FROM dual;

示例六、验证字符串是否为有效模式对象名

SELECT dbms_assert.QUALIFIED_SQL_NAME('hello_orcale') FROM dual;

示例七、输入错误的械对象

SELECT dbms_assert.QUALIFIED_SQL_NAME('') FROM dual;
--对象名不能以数字开头

示例八、验证字符串是否为有效模式名

SELECT dbms_assert.SCHEMA_NAME('SCOTT') FROM dual;

要求模式名全部大写

示例九、输入错误模式名

SELECT dbms_assert.SCHEMA_NAME('tests') FROM dual;

不能小写模式名

Oracle系统工具包(学习笔记)的更多相关文章

  1. Oracle教程之学习笔记

    Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...

  2. Unity3d Mecanim动画系统Animator学习笔记

    1. unity3d Mecanim学习  Unity3d新版动画系统网上的介绍很多,但多是流水笔记,外人很难看明白,后来我 终于找到介绍的比较明白的两个作者,特别感谢.一个是58开发网的乐天老师,课 ...

  3. oracle储存过程学习笔记

    转载至: https://www.2cto.com/database/201610/559389.htm 1.什么是oracle存储过程 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQ ...

  4. Linux系统安全学习笔记(1)-- 文件系统类型

    今天看了一个关于Linux系统安全的视频教程,这个教程有很多的知识点,我会分几篇博文将我的笔记分享出来. 首先是关于Linux文件系统类型的一些知识,Linux有四种常见的文件系统类型(网上大多数是3 ...

  5. 转:oracle物化视图学习笔记

    最近学习了一下物化视图,正好经理不在,把学习结果贴出来供大家一起研究一下吧. 先看一下物化视图的大概含义吧,感觉baidu的定义还不错 物化视图,它是用于预先计算并保存表连接或聚集等耗时较多的操作的结 ...

  6. Oracle经典教程学习笔记

    Oracle学习 1.为表创建约束:alter table 表名 add constraint 约束名 约束内容 演示样例:alter bable infos add constraint UN_ST ...

  7. Oracle索引知识学习笔记

    目录 一.Oracle索引简介 1.1 索引分类 1.2 索引数据结构 1.3 索引特性 1.4 索引使用注意要点 1.5.索引的缺点 1.6.索引失效 二.索引分类介绍 2.1.位图索引 1.2.函 ...

  8. [Oracle] PL/SQL学习笔记

    -- 1. 使用一个变量 declare -- Local variables here v_name ); begin -- Test statements here select t.user_n ...

  9. Python scikit-learn机器学习工具包学习笔记:feature_selection模块

    sklearn.feature_selection模块的作用是feature selection,而不是feature extraction.   Univariate feature selecti ...

随机推荐

  1. request.setAttribute()、session.setAttribute()和request.getParameter()的联系与区别(记录)

    1.session.setAttribute()和session.getAttribute()配对使用,作用域是整个会话期间,在所有的页面都使用这些数据的时候使用. 2.request.setAttr ...

  2. 读书笔记_Effective_C++_条款三十八:通过复合塑模出has-a或者is-implemented-in-terms-of

    如果说public是一种is-a的关系的话,那么复合就是has-a的关系.直观来说,复合就是在一个类中采用其他类的对象作为自身的成员变量,可以举个例子,像下面这样: class Person { pr ...

  3. 在 CentOS 和 RHEL 上安装 Puppet 服务器和客户端

    https://linux.cn/article-3959-1.html https://docs.puppet.com/

  4. ios 重用UI部分代码的好方法(再也不用为局部变量的命名而烦恼啦!)

    重用控件类代码的一个非常好的解决方案:所有一样的控件其名字均用同样的一个名字.只是在最后赋值的时候,将创建好的控件赋给我们需要用到的那个控件. - (id)initWithFrame:(CGRect) ...

  5. 4. API之打印函数

      AbortDoc 取消一份文档的打印 AbortPrinter 删除与一台打印机关联在一起的缓冲文件 AddForm 为打印机的表单列表添加一个新表单 AddJob 用于获取一个有效的路径名,以便 ...

  6. 配置使用ldap中碰到的各种问题 --- 吐血

    1.   LDAP Result Code 50 "Insufficient Access Rights" : 权限的问题: 解决: 使用docker部署吧, 看我其他的博客

  7. strchr实现

    char* strchr(char*s,charc) { while(*s!='\0'&&*s!=c) { ++s; } return*s==c?s:NULL; } // strchr ...

  8. 【BZOJ】【2946】【POI2000】公共串

    后缀数组 好感动,复习了下后缀数组居然写出来了……(感谢ykz大神) 求最长公共子串……WA了一发是因为:[不同字符串之间要用不同的特殊字符隔开]否则就会匹配到相同→_→比如都是aaa结尾,如果用相同 ...

  9. C语言:用二进制方式向文件读写一组数据(fread、fwrite)

    #include<stdio.h> #define SIZE 10 struct student { char name[10]; int num; int age; char addr[ ...

  10. 判断大小端的方法(java和c++)

    首先我们给出大小端的定义: 小端:较高的有效字节存放在较高的的存储器地址,较低的有效字节存放在较低的存储器地址. 大端:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址. 将 ...