zoukankan      html  css  js  c++  java
  • PL/SQL

    -- Created on 2019/10/7 by LK 
    declare 
      -- 声明变量、游标
      i integer;
    begin
      -- 执行语句
      
      -- [ 异常处理 ]
    end;

    1、我们使用PL/SQL打印第一个“Hello Word”

    declare
      
    begin
      dbms_output.put_line('Hello Word');
    end;
    
    -- 结果
    Hello Word

    (我们的黑框打印:)

      1、WIN + R (CMD)

      2、输入sqlplus   ,然后输入相应的登录名和密码

      注意:这里我们需要打开一个开关否则看不见打印的字符串“Hello word”

        打开方法:在刚刚的黑框中输入  :set  serveroutput  on

      3、粘贴上上面写的PL/SQL

      4、回车,然后加  /

    2、变量

      变量的声明方式

      变量名   变量类型(变量长度)  例如   v_name varchar(20);

      2.1、普通数据类型(char、varchar2、date、number、boolean、long)

        赋值:

          (1)直接赋值:      :=   例如   v_name:='张飒'

          (2)语句赋值:select .....into....

    --打印人员信息:包括姓名、薪水、地址
    declare
      --姓名
        v_name varchar2(20) := '张三';
      --薪水
        v_sal number;
      --地址
        v_addr varchar2(20) ;
    begin
        --直接赋值
        v_sal := 15000;
        -- 语句赋值
        select '北京市' into v_addr from dual;
        
        --打印输出
      dbms_output.put_line('姓名:'||v_name||',薪水:'||v_sal||',地址:'||v_addr) ;
    end

      2.2、特殊变量类型(引用型变量、记录型变量)

        变量长度取决于表中字段类型长度

        通过  表名.类名%type   指定变量的类型和长度  例如:v_name  emp.ename%type

    --打印人员信息:包括姓名、薪水
    declare
      --姓名
        v_name emp.ename%type;
      --薪水
        v_sal emp.sal%type;
      
    begin
       select ename,sal into v_name,v_sal from emp where empno = 7839;
        
        --打印输出
      dbms_output.put_line('姓名:'||v_name||',薪水:'||v_sal) ;
    end;

      记录型变量(相当于java中的对象)

    -- 查询emp中7839 号员工的个人信息,并打印姓名薪水
    DECLARE
        v_emp emp%rowtype;
    BEGIN
        select * into v_emp from emp where emp.empno = 7839;
        -- 打印数据
        dbms_output.put_line('姓名:'||v_emp.ename||',薪水:'||v_emp.sal);
    END;

    3、流程控制

      3.1 条件分支

    -- 判断emp中记录超过20条数据,10-20条数据,10条一下
    DECLARE
        V_COUNT NUMBER;
    BEGIN
        SELECT COUNT(*) INTO V_COUNT FROM EMP;
    
        IF V_COUNT > 20 THEN
            DBMS_OUTPUT.PUT_LINE('表中记录数超过20条:' || V_COUNT);
        ELSIF V_COUNT >= 10 THEN
            DBMS_OUTPUT.PUT_LINE('表中记录数在10-20条:' || V_COUNT);
        ELSE
            DBMS_OUTPUT.PUT_LINE('表中记录数10条一下:' || V_COUNT);
        END IF;
    END;

      3.2 循环(有三种:这只讲loop)

      

    -- 打印数字1-10
    DECLARE
        --定义自增变量
        V_NUM NUMBER := 1;
    BEGIN
        LOOP
            EXIT WHEN V_NUM > 10;
            DBMS_OUTPUT.PUT_LINE(V_NUM);
            --自增变量
            V_NUM := V_NUM + 1;
        END LOOP;
    END;
  • 相关阅读:
    Docker | 第二章:第一个Docker应用
    Docker | 第一章:Docker简介
    Docker | 第零章:前言
    SpringBoot | 第十五章:基于Postman的RESTful接口测试
    SpringBoot | 第十四章:基于Docker的简单部署
    SpringBoot | 第十三章:测试相关(单元测试、性能测试)
    2014年计划
    学习方法,工作方法 探讨
    2013年总结
    asp.net用Zxing库实现条形码输出
  • 原文地址:https://www.cnblogs.com/karrya/p/11632200.html
Copyright © 2011-2022 走看看