PL/SQL 过程化的sql语言
plsql框架
declare
-- 定义区域 (声明程序中要用到的变量 常量 游标 异常 等等)
begin
-- 执行区域 (功能代码)
exception
-- 异常处理区域
end;
输出 HelloWorld
1、定义变量
①变量的赋值
:= 赋值
②& 脚本形式赋值
③-- select ... into ...
2、类型
①%type :某个表的某个字段的类型
②%rowtype:某个表的所有字段的类型
③record :将统一业务逻辑的不同的变量在一起声明
两个表
3、流程控制语句
①单分支
②双分支
输入19
输入2
③多分支
输入20
输入15
输入9
④case when
输入20
输入15
输入9
4、循环语句
①loop
打印结果1-100
②while
打印结果1-100
③for
打印结果1-100
5、游标
返回多行>>游标
①显性游标
-- 游标:指向结果集的指针(地址) >>指向首行
-- 显式游标
-- 针对返回的结果为单行或者多行的查询语句
-- 1.定义游标 cursor 游标名字 is select .....
-- 2.打开游标 open 游标名字
-- 3. 抓取数据 fetch 游标名字 into ...
-- 4.关闭游标 close 游标名字
返回一个值
返回全部>> 得用循环
while 循环
返回全部
for 循环
返回全部
②隐形游标
隐式游标 判断是否有匹配有值 (返回数据)
针对返回的是 单行
③ref 游标:动态关联结果集
6、异常处理
①预定义异常
系统异常 如no_data_found 、too_many_rows 等等(由系统定义,系统触发 ,我们捕获处理)
②非预定义异常
用户自己定义(自己起名字,绑定ora 由系统触发)
③用户自定义异常
系统不认为有错,用户自定义的错误
需要用户定义 ,用户自己抛出异常 ,用户自己捕获并处理
没有cid为4的人
补充
sqlcode :返回错误代码
sqlerrm :返回错误信息
7、函数
基本语句
①没有参数的函数
②带参数的函数
③参数的修饰符
in 入参(默认被in修饰) :函数外向函数内传值
out 出参:函数内给函数外的变量赋值,赋值完成后函数外就能正常访问
8、存储过程
函数有返回值,存储过程没有返回值
基础语法
①返回指定的cid的cname以及job
②带游标的存储过程
9、包
包是一组相关过程、函数、变量、常量和游标等 PL/SQL 程序设计元素的组合
基础语法
包这里简单分成三部分 包定义 包主体 调用
①包定义
②包主体
③调用
10、定时任务
创建定时任务
-- 通过数据字典方式查看job
-- 启动
-- 停止
-- 删除