PL/SQL(一)

      PL/SQL(Procedural Language extensions to SQL)是Oracle对标准SQL语言的过程化扩展,是专门用于各种环境下对Oracle数据库进行访问和开发的语言.实际上是SQL语言的非过程化与第三代开发语言的过程化结合,产生了PL/SQL语言.费话就不多说了,先举个例子来看:

首先在你的Oracle数据库中建一个简单的用户表:

CREATE TABLE USER_TAB(
ID NUMBER(10) NOT NULL,
USERNAME VARCHAR2(50) NOT NULL
)

 以后所举例子都要用到这个表(一些记录自己加).

 

在你的PL/SQL Developer里执行以下句话:

DECLARE
       v_username user_tab.username%TYPE;
BEGIN
       SELECT username INTO v_username FROM user_tab WHERE ID=1;
       IF v_username='princeshow' THEN
          UPDATE user_tab SET username='prince' WHERE ID=2;
       ELSE
           UPDATE user_tab SET username='show' WHERE ID=3;
       END IF;
END;
--执行以后一定要commit否则的话在OEMC(oracle企业管理控制台)里是看不到更新的数据
COMMIT;

 在该程序中,select语句和2个update语句是非过程化的SQL语言,完成对数据库的操作,而变量的声明 if语句的逻辑判断则是过程化语言的应用.

 

PL/SQL语言的特点:

(1)与SQL语言紧密集成,所有的SQL语句在PL/SQL中都可以得到支持.

(2)减小网络流量,提高应用程序的运行性能.如图所示:

所以将PL/SQL程序嵌入到应用程序中,可以降低网络流量,提高应用程序的性能.

(3)模块化的程序设计功能,提高了系统可靠性.

(4)服务器端程序设计,可移植性好(任何平台的oracle数据库上);

 

PL/SQL程序执行过程

如下图所示:

可看出PL/SQL在执行语句时比SQL多了一层PL/SQL引擎.PL/SQL引擎主要是处理过程化语句,而把原生SQL语句还是交给SQL语句执行器去处理.

 

<!-- ======================================  更新  ======================================== -->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值