Procedure Language/SQL基础语法存储过程与触发器
博客参考
Oracle版本说明
SID Security Identifiers 系统标识号
Oracle 版本说明
Oracle8i Oracle9i Oracle10g Oracle11g Oracle12c
i 代表 Internet。8i 版本开启对 Internet 的支持。所以,在版本号之后,添加了标识 i。
G:g 代表 Grid 网格。10g 加入了网格计算的功能,因此版本号之后的标识使用了字母 g。
C:c 代表云(cloud)计算设计。12c 版本表示对云计算的支持。
什么是PL/SQL?面向过程
Orcle对sql语言的过程化拓展。使其拥有过程处理能力。
在SQL命令语言(数据操纵能力)中增加了过程处理语句。(分支、循环等)
为职工涨工资,每人涨10%
update emp set sal=sal*1.1;
按职工职称长工资,总裁涨1000,经理涨800,其他人员涨400
程序语法
包含一个或多个逻辑块
是面向对象:高级语言
定义一定开辟空间,声明未必
declare
(变量说明,游标申明,例外说明) 说明部分 declaration statements
begin
(DML语句) 语句序列 executable statements 执行部分
exception
例外处理语句 exception stastements 异常处理部分
End;
分隔符 具有特殊含义的符号
分隔符 | 概述 |
---|---|
:= /default | 赋值 |
<> | 不等于 |
常量定义
select...into
查询结果只能是一条记录,不能是零条或多条记录
变量初始化时,可以使用default关键字对变量进行初始化 :=
非结构化的大数据类型(LOB数据类型)
变量名、数据类型和长度
分号结束说明语句
char varchar2 date number boolean long
var1 char(15);
psal number(9,2);
/**/多行注释,说明性文字,帮助别人阅读源码。注释中的字符被编译器忽略。
双连字符单行注释
set serveroutput on
set serveroutpu on是使oracle可以使用自带的输出方法
dbms_output.put_line(‘XX’);
使用范围
使用于PL/SQL COMMAND WINDOW,SQL PLUS中
永久有效
为了不须要每次都输入set serveroutput on 可以在Oracle安装文件夹下查glogin.sql文件。并在文件里添加set serveroutput on就可以。
变量定义
引用变量
buffer size 缓冲区大小
记录型变量
|| 连接符
if分支
如果输入的不是1,则没有输出
判断18岁以下是未成年人,18岁以上40一下是成年人,40以上是老年人
loop循环 三种方式
输出1到10
存储过程 stored procedure【理解】
是数据库中的一个重要对象
一组为了完成特定功能的SQL语句集
用户通过指定存储过程的名字并给出参数来执行
创建一个输出helloworld的存储过程
给指定员工涨100工资,并打印出涨前和涨后的工资
存储函数[理解]
存储过程和存储函数
程序语句练习——交互
修改列表名
接受一个员工号,输出这个员工所在部门的平均工资