在oracle中使用pl/sql来扩展SQL的功能,使得SQL能够更加的灵活,功能更加强大,效率更高。pl/sql让sql也能执行判断,循环等操作。主要记录一下pl/sql的基本语法和基本条件判断语句和循环语句供忘记了方便查阅。

1.pl/SQL的语法结构:

    declare

      //这部分用于声明变量

    begin

      //这部分用于处理业务逻辑

    exception

      //这部分用于处理例外也就是异常情况

    end;

   例如:   

      declare
        uname varchar2(10);
        hello varchar2(10) := 'helloworld'; --为变量赋值
        vsal emp.sal%type; --声明一个引用类型的变量
        pall emp%rowtype; --声明一个记录类型的变量
        digit number:=#---提示用户输入,然后根据用户输入执行相应的操作

        ...
      begin
        dbms_output.put_line(hello);
      exception
        when exception_name then

           //操作
      end;

2.)pl/sql的条件判断语句

    if 条件 then

      语句;

    elsif 条件then

      语句;

    else

      语句;

    end if;

例如:根据输入的年龄判断是处于哪个阶段的人

        declare
          age number := #
        begin
          if age < 18 then
             dbms_output.put_line('你还是未成年人');//表示系统输出语句,类似于system.out.print();
          elsif age > 18 and age <= 40 then
             dbms_output.put_line('你是青年人');
          else
             dbms_output.put_line('你是中年人!');
          end if;
        end;

3.)pl/sql的循环语句

  在pl/SQL中有三种循环结构。

  3.1)while 条件 loop

    语句块;

    end loop;

    例如:循环输出1-10的数。

      declare
        step number := 1;
      begin
        while step <= 10 loop
          dbms_output.put_line(step);
          step := step + 1;
        end loop;
      end;

  3.2)loop 循环语句

    loop

      exit when 退出条件;

      语句块;

    end loop;

例如:输出1-9的数。

      declare
        step number := 1;
      begin
        loop
          exit when step > 10;--当step>10退出循环
          dbms_output.put_line(step || ' ');
          step := step + 1;
        end loop;
      end;

  3.3)for语句循环结构

    for 循环变量 in n..N loop

      语句块;

    end loop;

例如:输出1-10之间的数。

    declare
    begin
      for step in 1.. 10 loop
      dbms_output.put_line(step);
    end loop;
    end;

案例1--使用PLSQL输出菱形
  declare
    m number := 10;
  begin
    for x in -m..m loop
      for y in -m..m loop
      if abs(y) + abs(x) <= m then
      dbms_output.put('*');
      else
      dbms_output.put(' ');
      end if;
      end loop;
    dbms_output.new_line();
   end loop;
  end;

案例2--使用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.put('*');
        else
        dbms_output.put(' ');
        end if;
      end loop;
    dbms_output.new_line();
    end loop;
  end;

以上就是pl/sql的基本语法以及基本的条件和循环结构。

最新文章

  1. 计算机程序的思维逻辑 (51) - 剖析EnumSet
  2. Apple、Google、Microsoft的用户体验设计原则
  3. nodejs中stream相关资料
  4. iOS学习——制作一个小型加法计算器
  5. shell脚本,防止sshd被暴力破解
  6. ps、grep和kill联合使用杀掉进程
  7. 前端开发者需要的10个Sublime插件
  8. Something broke! (Error 500)——reviewboard
  9. MFC 盾webBrowser打开弹出的页面
  10. WCF与Web API 区别
  11. python修炼第七天
  12. java判断是否是数字
  13. Lock接口
  14. (转)How Hash Algorithms Work
  15. window 平台上面解决不能动态php_mysqli.dll
  16. AVL树 - 学习笔记
  17. python练习六十九:urllib爬取练习
  18. 【Leetcode】【Easy】Roman to Integer
  19. .NET中获取当前的IP地址
  20. python练习1 ——菱形打印

热门文章

  1. 记ubuntu sudo无法使用,su密码不对的解决办法
  2. sh_06_函数的返回值
  3. Vim 命令、操作、快捷键(收藏大全)
  4. taihong
  5. 多网卡情况下接收udp组播
  6. c++11多线程---std::ref和std::cref
  7. collection:指定要遍历的集合
  8. RotateZoom.cpp 20180622
  9. 杂项-PIN:百科
  10. debian ssh/sftp