Oracle的dbms_output包的put()和put_line()的区别只是有没有回车换行吗?
答案是否
除了自动添加回车换行外,还有就是缓冲区最大容量的问题!!
无论如何设置serveroutput size,10g里
put() 最多只能输出 32767 个byte
而
put_line() 的最大容量为 1000000个byte
如果你的用户代码足够长(大于32767),就会发现
使用put()会报错,而使用put_line()不会报错!
查出结果集并输出:
SET serveroutput ON;
--cursor output
declare
cursor xx is
(
select myuser.sso_id
from myuser, rp_ref_employee rpref
where rpref.soe_id(+) = myuser.sso_id
and rpref.soe_id is null
);
begin
for x in xx loop
dbms_output.put_line(x.sso_id);
end loop;
end;
set serveroutput off;
在oracle developer中,需选中set serveroutput on 与游标一起执行,否则显示
anonymous block completed
,但是并没有打印结果。
分享到:
相关推荐
dbms_output.put_line('和:'||summary); end; declare summary number(10,0):=0; begin for i in 1..100 loop summary:=summary+i; dbms_output.put_line('i='||i||',sum='||summary); end loop; dbms_...
代码如下:/*If语句:判断用户输入的数字。*/set serveroutput on –接收键盘输入accept num prompt ‘请输入一个数字:’; declare –将屏幕输入的数字付给... if pnum = 2 then dbms_output.put_line(‘您输入的是2’)
放进DBMS_OUTPUT.PUT_LINE调用的消息显示在屏幕上--但是只有在过程完成以后才能显示出来。 DBMS_OUTPUT包也有其他的缺点。就是DBMS_OUTPUT包不许数据库开发者实时的看到消息。 使用EmailUtils包,你可以简简单单的把...
--使用PLSQL输出三角形,只要是三个角 declare m number := 10; begin for x in reverse -m..m loop for y in -m..m loop if abs(y) + abs(x) <= m and x>=0 then ... dbms_output.new_line(); end loop; end;
Oracle用三种循环方法输出乘法表,比如loop的用法: m := 1; loop n := 1; loop dbms_output.put(m||'*'||n||'='||m*n||' ');... dbms_output.put_line(''); m := m + 1; exit when m>9; end loop;
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;
用dbms_output.put_line 不显示
Dbms_output.put_line(‘no_data_found’); ACCESS_INTO_NULL 为对象赋值前必需初始化对象。对应ORA-06530错误。 CASE_NOT_FOUND 使用CASE语句时在WHEN子句中没有包含必需的条件分支,并且没有包含ELSE语句。 对应...
他们必须使用dbms_output.put_line调用,这个调用直到过程完成才返回结果。 在本文中,我想演示如何从Oracle 8i数据库直接发送电子邮件,作为一种实时通信解决方案。我们的做法是把所有必需的过程与函数包装在自定义...
说明:dbms_output是oracle提供的包,该包包含一些过程,put_line就是其中之一。 实例2:包含定义部分和执行部分 SQL> declare 2 v_ename varchar2(5); 3 begin 4 select ename into v_ename from emp where ...
declare m number := 3; begin for y in -m..m loop for x in -m..m loop if abs(y) + abs(x) dbms_output.put('*'); else dbms_output.put(' ');... dbms_output.new_line(); end loop; end;
DBMS_OUTPUT.PUT_LINE('记录已经成功插入,并已记录到日志'); ELSIF UPDATING THEN --UPDATE触发 v_type := 'UPDATE'; DBMS_OUTPUT.PUT_LINE('记录已经成功更新,并已记录到日志'); ELSIF DELETING THEN v_type := ...
本文为大家分享了Oracle中三种循环(For、While、Loop)案例,供大家参考,具体内容如下 1.ORACLE中的FOR循环用法(九九乘法表) ... dbms_output.new_line; end loop; end; 2.ORACLE中的While循环用法(九九乘法表) d
Sql代码 代码如下: — Created on 2010/04/17 by NAN declare — Local variables here i integer;... IF v_date1 > v_date2 THEN dbms_output.put_line( ‘if’); ELSE dbms_output.put_line( ‘else’); END IF; end
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求100和200之间素数方法 ... dbms_output.put_line(n); end if; end loop; end; while方法: declare n number := 100; i number := 2; flag boolean := true; BEGIN WHILE n <=200 LOOP
(dbms_output.put_line()负责输出) set verify(ver)on/off:是否显示替换变量被替换前后的语句(用在sql语句中有替换变量或以& &&开头的时候); v_ename emp.ename%type; --v_ename是定义的变量;emp是查选的表ename...
/*departments.location_id//部门地址编号*/ /*复制表的命令 create table emp2 as select * from emp where 1=1;...dbms_output.put_line(v_rec.dd_sal||v_rec.dd_name||to_char(v_rec.dd_hiredate,'yyyymmdd')); end;
游标 显式游标 1声明 cursor 名称 is 查询语句 2 打开游标 open 游标名 例: declare Cursor stu_cur is select * from student; begin open stu_cur;...dbms_output.put_line(stu_cur%rowcount); end;
数据库笔记--PL_SQL > set serveroutput on;(把内部环境变量设置为on) > begin dbms_output.put_line('HelloWorld!'); end; /