Oracle系统工具包(学习笔记)
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;
| 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系统工具包(学习笔记)的更多相关文章
- Oracle教程之学习笔记
Oracle教程之学习笔记... ----------------------------------- Oracle教程:---学习笔记: ============================= ...
- Unity3d Mecanim动画系统Animator学习笔记
1. unity3d Mecanim学习 Unity3d新版动画系统网上的介绍很多,但多是流水笔记,外人很难看明白,后来我 终于找到介绍的比较明白的两个作者,特别感谢.一个是58开发网的乐天老师,课 ...
- oracle储存过程学习笔记
转载至: https://www.2cto.com/database/201610/559389.htm 1.什么是oracle存储过程 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQ ...
- Linux系统安全学习笔记(1)-- 文件系统类型
今天看了一个关于Linux系统安全的视频教程,这个教程有很多的知识点,我会分几篇博文将我的笔记分享出来. 首先是关于Linux文件系统类型的一些知识,Linux有四种常见的文件系统类型(网上大多数是3 ...
- 转:oracle物化视图学习笔记
最近学习了一下物化视图,正好经理不在,把学习结果贴出来供大家一起研究一下吧. 先看一下物化视图的大概含义吧,感觉baidu的定义还不错 物化视图,它是用于预先计算并保存表连接或聚集等耗时较多的操作的结 ...
- Oracle经典教程学习笔记
Oracle学习 1.为表创建约束:alter table 表名 add constraint 约束名 约束内容 演示样例:alter bable infos add constraint UN_ST ...
- Oracle索引知识学习笔记
目录 一.Oracle索引简介 1.1 索引分类 1.2 索引数据结构 1.3 索引特性 1.4 索引使用注意要点 1.5.索引的缺点 1.6.索引失效 二.索引分类介绍 2.1.位图索引 1.2.函 ...
- [Oracle] PL/SQL学习笔记
-- 1. 使用一个变量 declare -- Local variables here v_name ); begin -- Test statements here select t.user_n ...
- Python scikit-learn机器学习工具包学习笔记:feature_selection模块
sklearn.feature_selection模块的作用是feature selection,而不是feature extraction. Univariate feature selecti ...
随机推荐
- JavaScript和JSP的区别?
名字: JS:JavaScript JSP:Java Server Pages 执行过程:JSP先翻译,翻译成Servlet执行 如: test.jsp 要变成 test_jsp.java 然后编译成 ...
- 《TD式创新”祸国殃民》
TD式创新”祸国殃民> 作者:北京邮电大学 阚凯力 (2014年12月16日) 电信业内早就众所周知的TD-SCDMA真相,终于公之于天下.铁的事实是,它从来就不是什么“自主知识产权”,而是西门 ...
- waitdialogform z
namespace DevExpress.Utils { using DevExpress.LookAndFeel; using DevExpress.Skins; using DevExpress. ...
- 张明楷:案件事实认定方法的七点注意 z
作者|张明楷 来源|<法学杂志> 大体而言,定罪是一个三段论的推理过程.刑法规范是大前提,案件事实是小前提,如果二者相符合,便可以作出相应的判决.具体地说,法官必须把应当判决的.具体的个案 ...
- [runtime] iOS-Runtime-Headers
Dynamically Generated iOS Headers https://github.com/nst/iOS-Runtime-Headers Here are iOS Objective- ...
- 仿LOL项目开发第八天
仿LOL项目开发第八天 by 草帽 这节我们继续上节所讲的内容,上节我们初始化好了LoginWindow,当我们点击确认选择服务器按钮的时候,就发送服务器id给游戏服务器. 这里就开始涉及到客户端需要 ...
- eclipse无法启动
-startupplugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar-showsplashorg.eclipse.platfo ...
- mac下virtualbox安装win7系统
下载安装参考: http://win.bai-bang.top/shendu64win7.html 1.之前在win7下的virtualbox安装win7操作溜溜的,换做mac,不知道是不是太久没有安 ...
- iOS:NSDate的主要几种时间形式
NSDate:时间的获取和操作 1.获取当前时间 //获取当前日期 NSDate *date = sender.date; NSLog(@"%@",date); 2.将date转换 ...
- mysql数据库查询优化
上两周一直想办法提高查询速度,取得一点效果,解决了部分问题,记下来以便将来自己查看. 由于公司没有专门的DBA,我自己对mysql数据库也不是很熟悉,而且这个JAVA开发的网络审计系统的管理系统,是经 ...