教学大纲:
- PLSQL编程:Hello World、程序结构、变量、流程控制、游标.
- 存储过程:概念、无参存储、有参存储(输入、输出).
- JAVA调用存储存储过程.
1. PLSQL编程
1.1. 概念和目的
什么是PL/SQL?
- PL/SQL(Procedure Language/SQL)
- PLSQL是Oracle对sql语言的过程化扩展 (类似于Basic)
- 指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力。
1.2. 程序结构
通过Plsql Developer工具的Test Window 创建 程序模版或者通过语句在SQL Window编写
提示:PLSQL语言的大小写是不区分的
PL/SQL可以分为三个部分:声明部分、可执行部分、异常处理部分。
-- Created on 2018/3/21 by ADMINISTRATOR DECLARE -- 声明变量、游标。 I INTEGER;BEGIN -- 执行语句 --[异常处理]END;
其中 DECLARE部分用来声明变量或游标(结果集类型变量),如果程序中无变量声明可以省略掉
1.3. Hello World
BEGIN --打印hello world DBMS_OUTPUT.PUT_LINE('hello world');END;
其中DBMS_OUTPUT 为oracle内置程序包,相当于Java中的System.out,而PUT_LINE()是调用的方法,相当于println()方法
在sqlplus中也可以编写运行PLSQL程序:
SQL> BEGIN 2 3 --打印hello world 4 5 DBMS_OUTPUT.PUT_LINE('hello world'); 6 7 END; 8 /PL/SQL 过程已成功完成。
执行结束后并未显示输出的结果,默认情况下,输出选项是关闭状态的 我们需要开启一下 set serveroutput on
![431e478fe1be633ae9d8228b953179dd.png](https://img-blog.csdnimg.cn/img_convert/431e478fe1be633ae9d8228b953179dd.png)
SQLPLUS中执行PLSQL程序 需要在程序最后添加一个 / 标识程序的结束
1.4. 变量
PLSQL编程中常见的变量分两大类:
- 普通数据类型(char,varchar2, date, number, boolean, long)
- 特殊变量类型(引用型变量、记录型变量)
声明变量的方式为
变量名 变量类型(变量长度) 例如: v_name varchar2(20);
1.4.1. 普通变量
变量赋值的方式有两种:
- 直接赋值语句 := 比如: v_name := 'zhangsan'
- 语句赋值,使用select …into … 赋值:(语法 select 值 into 变量)
【示例】打印人员个人信息,包括: 姓名、薪水、地址
-- 打印人员个人信息,包括: 姓名、薪水、地址DECLARE -- 姓名 V_NAME VARCHAR2(20) := '张三'; -- 声明变量直接赋值 --薪水 V_SAL NUMBER; --地址 V_ADDR VARCHAR2(200);BEGIN --在程序中直接赋值 V_SAL := 1580; --语句赋值 SELECT '上海市传智播客' INTO V_ADDR FROM DUAL; --打印变量 DBMS_OUTPUT.PUT_LINE('姓名:' || V_NAME || ',薪水:' || V_SAL || ',地址:' ||V_ADDR);END;
1.4.2. 引用型变量
变量的类型和长度取决