pl/sql 的 put和put_line区别
2015-11-10 18:54
387 查看
在学习PL/SQL脚本时,打印语句是用得最多的语句。
在Oracle中,又有两种打印的方法:put和put_line。
它们的区别是:
put:不换行输出,输出在缓冲区,不显示出来,直到执行put_line才一并输出。
put_line:换行输出。但首先会输出缓冲区中的内容,然后清空缓冲区。
下面举个例子来帮助理解。
输入:
begin
dbms_output.put_line(1);1
end;
/
打印:1
输入:
begin
dbms_output.put(2);
end;
/
没有打印任何内容
再输入一次:
/
仍然没有打印任何内容
输入:
begin
dbms_output.put_line(3);
end;
/
问题:现在输出的结果是什么?
你可以把你认为的输出结果写在纸上,注意要包含回车符。
分析:
第一次执行“put(2)”,在缓冲区中产生“2”;
再输入“/”执行上次的代码,在缓冲区中产生“22”;
执行“put_line(3)”,首先输出缓冲区的“22”,再输出“3”和一个回车符。
所以最后输出的内容(用“-------------------”隔开的)就是:
-------------------
223
-------------------
小结:
1、如果输出时不需要换行,则用put()方法,不过内容是在缓冲区,在后面执行put_line()时才会一并输出。
2、如果输出时需要换行,则用put_line()。
在Oracle中,又有两种打印的方法:put和put_line。
它们的区别是:
put:不换行输出,输出在缓冲区,不显示出来,直到执行put_line才一并输出。
put_line:换行输出。但首先会输出缓冲区中的内容,然后清空缓冲区。
下面举个例子来帮助理解。
输入:
begin
dbms_output.put_line(1);1
end;
/
打印:1
输入:
begin
dbms_output.put(2);
end;
/
没有打印任何内容
再输入一次:
/
仍然没有打印任何内容
输入:
begin
dbms_output.put_line(3);
end;
/
问题:现在输出的结果是什么?
你可以把你认为的输出结果写在纸上,注意要包含回车符。
分析:
第一次执行“put(2)”,在缓冲区中产生“2”;
再输入“/”执行上次的代码,在缓冲区中产生“22”;
执行“put_line(3)”,首先输出缓冲区的“22”,再输出“3”和一个回车符。
所以最后输出的内容(用“-------------------”隔开的)就是:
-------------------
223
-------------------
小结:
1、如果输出时不需要换行,则用put()方法,不过内容是在缓冲区,在后面执行put_line()时才会一并输出。
2、如果输出时需要换行,则用put_line()。
相关文章推荐
- 使用visio 2010建立sql server数据模型——手动画、利用逆向工程
- hive&mysql安装配置
- Oracle的tnsnames.ora配置(PLSQL Developer)
- mysql安装odbc
- oracle的内置函数
- mysql函数TIMESTAMPDIFF和FROM_UNIXTIME
- oracle用户创建及权限设置
- Oracle 通过sql profile为sql语句加hint
- 将指定SQL的执行计划从共享池删除的方法
- with as与hint materialize的使用
- 填坑 - 使用Entity Framework 6 + Sqlite进行DB first开发
- Oracle ORA-02020 : 过多的数据库链接
- windows平台下redis安装及配置文件介绍
- Redis在windows上的安装和配置
- Oracle自增列创建方法
- Node.js、express、mongodb 实现分页查询、条件搜索
- MongoDB基础CRUD JAVA语句
- WARNING: The host 'localhost' could not be looked up with /usr/local/mysql//bin/resolveip
- 什么叫做SQL注入式攻击?如何防范?
- SQLite数据库事务使用