代码改变世界
[登录 · 注册]
  • oracle PL/SQL编程基础知识
  • 在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的基本语法以及基本的条件和循环结构。

  • 【推广】 阿里云小站-上云优惠聚集地(新老客户同享)更有每天限时秒杀!
    【推广】 云服务器低至0.95折 1核2G ECS云服务器8.1元/月
    【推广】 阿里云老用户升级四重礼遇享6.5折限时折扣!
  • 原文:https://www.cnblogs.com/jasonboren/p/10927234.html
Copyright 2008-2020 晋ICP备12007731号-1