--loop循环用法 (输出1到10)
declare v_num number(2) := 0;
begin
loop
v_num := v_num + 1;
exit when v_num > 10;
--上面退出循环也可以用下面3行
/* if(v_num > 9) then
exit;
end if;*/
dbms_output.put_line(v_num);
end loop;
end; --while loop循环用法 (输出1到10)
declare v_num number(2) := 0;
begin
while v_num < 10 loop
v_num := v_num + 1;
dbms_output.put_line(v_num);
end loop;
end; --for loop循环用法1 (输出1到10)
declare v_num number(2) := 99;
begin
for v_n in 1 .. v_num loop
exit when v_n > 10;
dbms_output.put_line(v_n);
end loop;
end; --for loop循环用法2 (输出某个表的序号、列数据)
begin
for v_n in(select amount,rownum from tmp) loop
dbms_output.put_line(v_n.rownum || ' , ' || v_n.amount);
end loop;
end; ---个循环打印某个月日历例子
declare v_days number(2);
v_firstday number(2);
v_result varchar2(4000);
v_d varchar(100);
v_month date;
begin
v_month := to_date('20170301','yyyymmdd');
v_result := to_char(v_month,'yyyy') || '年' || to_char(v_month,'mm') || '月' || chr(10) || '日 一 二 三 四 五 六' || chr(10);
select to_char(last_day(v_month), 'dd') into v_days from dual;--当月多少天
select to_char(trunc(v_month, 'mm'),'d') into v_firstday from dual;--当月第1天是星期几:1-7
--1号所在星期几的之前每一天补3个空格
for v_week in 1 .. v_firstday - 1 loop
exit when v_firstday < 2;
v_result := v_result || ' ';
end loop;
for v_date in 1 .. v_days loop
v_d := v_date;
if(length(v_date) = 1) then
v_d := ' '||v_date ;
end if;
v_result := v_result || v_d || ' ';
if(mod(v_date + v_firstday, 7) = 1) then
v_result := v_result || ' ' || chr(10);
end if;
end loop;
dbms_output.put_line(v_result);
end;
/*
运行结果: 2017年03月
日 一 二 三 四 五 六
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
*/

  

最新文章

  1. My97DatePicker日期插件
  2. oracle合并版本
  3. 揭秘PHP匿名函数
  4. Tomcat connector元素常用配置(最大连接数等)
  5. iOS设备类型
  6. Linux 的启动流程(转)
  7. 最全面的jdbcUtils,总有一种适合你
  8. mongo学习笔记(六):linux上搭建
  9. maven_项目的依赖、聚合、继承
  10. CentOS6.5 python 2.6升级到2.7
  11. 【转】在Eclipse中使用PyDev进行Python开发
  12. linux vim用法总结
  13. Commons Lang - StringUtils
  14. 利用doxygen提高源代码阅读效率
  15. 三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别
  16. SQL SELECT INTO 语句
  17. 报表学习总结(一)——ASP.NET 水晶报表(Crystal Reports)的简单使用
  18. 相对路径和绝对路径的问题&quot;/&quot;带不带斜杠
  19. Android Studio 代码无提示,无颜色区分
  20. 页面添加锚点后如何点击不改变URL?

热门文章

  1. Rpgmakermv(18)GALV RollCredits
  2. sitecore系列教程之简单和个性化
  3. F12搜索json内容
  4. restful的特点
  5. mysql每天弹出窗口检测更新关闭方式...
  6. 20165215 预备作业3 Linux安装及学习
  7. Linux基础命令---删除用户userdel
  8. 区块链公链分片技术(sharding)方案,配思维导图
  9. Markdown编辑器使用说明
  10. jdbc --例子7