PL/SQL专门面向Oracle数据库存储的程序单元的开发。
一.PL/SQL块结构
PL/SQL程序都是以块(block)为基本单位,整个PL/SQL分为3个部分
声明[可选],执行[必须],异常[可选]
[declare]
begin
[exception]
end
二.PL/SQL中使用DML
1.使用select into赋值
select 列名 into 变量名 from 表名
举例:算7369的年薪
declare
V_saly scott.emp.sal%type;
V_name scott.emp.ename%type;
begin
select sal, ename into V_saly,V_name from scott.emp where empno=7369;
dbms_output.put_line(V_name||'的年薪是:'||(V_saly*12));
end;
注:特殊数据类型
- %type, 与数据表中的某个列的数据类型相同;
- %rowtype,返回一个记录类型,与数据库表的数据结构一致
2.使用insert插入数据
insert into表名[(列名)] values(对应值) [where 条件]
--创建表goods,goodid,goodname,goodPrice
create table goods(
goodid number,goodname nvarchar2(10),goodPrice number);
select * from goods;
--添加5条记录
insert into goods values(1,'衣服',300);
insert into goods values(2,'鞋子',200);
insert into goods values(3,'裤子',300);
insert into goods values(4,'眼镜',1300);
insert into goods values(5,'配饰',100);
3.使用update 更新数据
update 表名 set 列名=新值 [where 条件];
update goods set goodPrice=500 where goodid=1
4.使用delete 删除数据
delete [from] 表名 [where 条件];
--删除其中一条记录
delete goods where goodid=1;
1.事物处理的概念:
事务处理是工作的逻辑单元,一个事务由一个或者多个完成一组的一组相关行为的SQL语句,通过事务机制确保这一组SQL所执行的操作要么完全成功的执行(执行的每一步都成功无错误,则整个事务被提交),要么一点也不执行(有错误时回滚)。
2.事务包含4种重要的特性:ACID
- 原子性(atomicity)
- 一致性(consistency)
- 隔离性(isolation)
- 持久性(durability)
3.在oracle中事务是隐式自动开始的,一般来说在以下几个方面:
A. 执行commit提交事务
B. 执行rollback撤销事务
C. 执行一条数据定义语句(create.drop.alter)
D. 执行一个数据控制命令(grant.revoke)
E. 正常的断开数据库连接,正常退出SQL*Plus环境
4.事务的几个重要操作
- 提交事务commit [work]
- 设置保存点savepoint name
- rollback[work][to savepoint name]