PL/SQL结构块分为几部分?PL/SQL中使用DML,事务处理

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;

三.PL/SQL中事务处理

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]
PL/SQLORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具了,近几年更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL/SQL程序。   PL/SQL的优点   从版本6开始PL/SQL就被可靠的整合到ORACLE了,一旦掌握PL/SQL的优点以及其独有的数据管理的便利性,那么你很难想象ORACLE缺了PL/SQL的情形。PL/SQL 不是一个独立的产品,他是一个整合到ORACLE服务器和ORACLE工具的技术,可以把PL/SQL看作ORACLE服务器内的一个引擎,sql语句执行者处理单个的sql语句,PL/SQL引擎处理PL/SQL程序。当PL/SQL程序PL/SQL引擎处理时,ORACLE服务器SQL语句执行器处理pl/sql程序SQL语句。   PL/SQL的优点如下:   . PL/SQL是一种高性能的基于事务处理的语言,能运行在任何ORACLE环境,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。   . PL/SQL支持所有SQL数据类型和所有SQL函数,同时支持所有ORACLE对象类型   . PL/SQL可以被命名和存储在ORACLE服务器,同时也能被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问PL/SQL程序,具有很好的可重用性。   . 可以使用ORACLE数据工具管理存储在服务器PL/SQL程序的安全性。可以授权或撤销数据库其他用户访问PL/SQL程序的能力。   . PL/SQL代码可以使用任何ASCII文本编辑器编写,所以对任何ORACLE能够运行的操作系统都是非常便利的   . 对于SQLORACLE必须在同一时间处理每一条SQL语句,在网络环境下这就意味作每一个独立的调用都必须被oracle服务器处理,这就占用大量的服务器时间,同时导致网络拥挤。而PL/SQL是以整个语句发给服务器,这就降低了网络拥挤。   PL/SQL结构   PL/SQL是一种结构的语言,组成PL/SQL程序的单元是逻辑,一个PL/SQL 程序包含了一个或多个逻辑,每个都可以划分为三个部分。与其他语言相同,变量在使用之前必须声明,PL/SQL提供了独立的专门用于处理异常的部分,下面描述了PL/SQL的不同部分:   声明部分(Declaration section)   声明部分包含了变量和常量的数据类型和初始值。这个部分是由关键字DECLARE开始,如果不需要声明变量或常量,那么可以忽略这一部分;需要说明的是游标的声明也在这一部分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值