Oracle数据库 PLSQL快速入门教程

  1. PLSQL 的概念和目的

            是oracle 对sql语言的过程化扩展

           方法由服务器的代码 写在数据库中 ,可以减少服务器和数据库的网络交互 ,提高运行效率

   教程网站 :https://www.oraclejsq.com/

  1. PLSQL 入门 helloworld

   不区分大小写,字符串用单引号 ' '

SQL> set serveroutput on  --打开输出
SQL> BEGIN
  2   DBMS_OUTPUT.PUT_LINE('Hello world!');
  3  END;
  4  /   -- /表示执行 

Oracle数据库 PLSQL快速入门教程_第1张图片

  1. 普通变量

    1. 变量
      1. 普通数据变量:char,varchar2,date,number,boolean,long
      2. 变量声明
        变量名 变量类型(变量长度)  eg:v_name varchar2(20)

         

      3. 变量赋值
        1. 直接语句赋值         v_name : = '张三';
        2. 语句赋值     使用select...into...赋值,(语法:select 值 into 变量)
          2 declare 
           3   -- Local variables here
           4   --姓名
           5   v_name VARCHAR2(50) := '张三';
           6   v_salary NUMBER(6,2);
           7   v_addr VARCHAR2(200);
           8 begin
           9   -- Test statements here
          10   v_salary := 1500;
          11   --语句赋值
          12   SELECT '上海' INTO v_addr FROM dual;
          13   --打印变量
          14   dbms_output.put_line('姓名:'||v_name||'薪水:'||v_salary||'地址:'||v_addr);
          15 end;

           

 

  1. 引用型变量

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

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

    引用型变量的好处:

    使用普通变量定义方式,需要指定表中字段的类型,而使用引用类型,不需要知道类型,使用%TYPE是非常好的编程风格,更适应于对数据库定义的更新


--查询emp表中7839号员工的个人信息,打印姓名和薪水
DECLARE
  -- Local variables here
  --姓名
  V_NAME EMP.ENAME%TYPE;
  --薪水
  V_SAL EMP.SAL%TYPE;
BEGIN
  -- Test statements here
  --查询姓名和薪水,并赋值给变量
  SELECT ENAME, SAL INTO V_NAME, V_SAL FROM EMP WHERE EMP.EMPNO = 7839;
  --打印变量
  DBMS_OUTPUT.PUT_LINE('姓名:' || V_NAME || '薪水:' || V_SAL);
END;
  1. 记录性变量

    接受表中的一整行记录,相当于java中的一个对象

    语法: 变量名称  表名%ROWTYPE,例如: v_emp  emp%ROWTYPE;

    示例:查询emp表中7839号员工的个人信息打印,姓名和薪水

    --查询emp表中7839号员工的个人信息
    DECLARE
      -- Local variables here
      --记录型变量
      v_emp emp%ROWTYPE;
    BEGIN
      -- Test statements here
      SELECT * INTO v_emp FROM EMP WHERE EMPNO='7839';
      --打印信息
      --v_emp相当于一个对象,ename相当于它的属性
      DBMS_OUTPUT.PUT_LINE('姓名:' || v_emp.ename || '薪水:' || v_emp.sal);
    
    END;

     

  2. 条件分支

    ​​​​​​​
  3. 循环

  4. 无参游标

  5. 带参游标

  6. 存储过程的概念和作用

  7. 无参数存储过程

  8. 带参数的存储过程

  9. java 程序调用存储过程

你可能感兴趣的:(oracle,数据库)