文档章节

PL/SQL程序设计(一)—— PL/SQL程序设计简介

o
 osc_4nmshwhm
发布于 2018/08/07 09:31
字数 998
阅读 9
收藏 0

(一)什么是PL/SQL

PL/SQL是是由甲骨文公司在90年代初开发,以提高SQL的功能。

PL/SQL是嵌入在Oracle数据库中的三个关键的编程语言之一(随着SQL本身和Java)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。

在PL/SQL编程语言是由甲骨文公司在20世纪80年代,作为SQL程序扩展语言和Oracle关系数据库开发。以下是关于PL/ SQL值得注意的事实:

  • PL/SQL是一个完全可移植的,高性能的事务处理语言。

  • PL/SQL提供了内置的解释器以及OS独立编程环境。

  • PL/ SQL也可直接调用的命令行SQL* Plus接口。

  • 直接调用也可以从外部编程语言调用数据库。

  • PL/SQL的一般语法是基于ADA和Pascal编程语言。

  • 除了甲骨文,PL/SQL在TimesTen内存数据库和IBM DB2也可用。

PL/SQL的特点

PL/SQL具有以下特点:

  • PL/SQL紧密结合集成SQL。

  • 它提供了广泛的错误检查。

  • 它提供了大量的数据类型。

  • 它提供了多种编程结构。

  • 它支持通过函数和程序结构化编程。

  • 它支持面向对象的编程。

  • 它支持开发Web应用程序和服务器的页面。

PL/SQL的优点

PL/SQL具有以下优点:

  • SQL是标准的数据库语言和PL/SQL极力使用SQL集成。PL/SQL支持静态和动态SQL。静态SQL支持DML操作和事务PL/SQL块控制。动态SQL是SQL允许嵌入PL/SQL块的DDL语句。

  • PL/SQL允许一次发送语句的整块到数据库。这降低了网络流量,并提供高性能的应用程序。

  • PL/SQL给编程人员高的生产效率,因为它可以查询,转换并在数据库中更新数据。

  • PL/SQL强劲的功能,如异常处理,封装,数据隐藏和面向对象数据类型可以节省设计和调试的时间。

  • 编写PL/SQL应用程序是完全可移植的。

  • PL/SQL提供了高的安全级别。

  • PL/SQL提供了访问预定义SQL包。

  • PL/SQL提供了面向对象的编程支持。

  • PL/ SQL提供了用于开发Web应用程序和服务器页面的支持。

(二)PL/SQL可用的SQL语句

 PL/SQL是ORACLE系统的核心语言,现在ORACLE的许多部件都是有PL/SQL写成,在PL/SQL可以使用的SQL语句有:

  INSERT,UPDATE,DELECT,SELECT...INTO,COMMIT,ROLLBACK,SAVEPOINT

提示:在PL/SQL中只能使用SQL语句的DML部分,不能使用DDL部分,如果在PL/SQL中使用DDL部分的画,只能以动态的方式来使用

  • ORACLR的PL/SQL组件在对PL/SQL程序进行解释时,同时在对其所使用的表名、列名以及数据类型进行检查

  • PL/SQL可以在SQL*PLUS中使用

  • PL/SQL可以在高级语言中使用

  • PL/SQL可以在ORACLE的开发工具中使用

  • 其他开发工具也可以调用PL/SQL编写的过程和函数,如Power Builder等都可以调用服务器端的PL/SQL过程

(三)运行PL/SQL程序

PL/SQL程序的运行是通过ORACLE中的一个引擎来进行的,这个引擎可能在ORACLE的服务器端 ,也可能在ORACLE应用开发的客户端。引擎执行PL/SQL中的过程性语句,然后将SQL语句发送给数据库服务器来执行。再将结果返回给执行端。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

李开复谈2020年AI科学家创业。道翰天琼认知智能api机器人接口。

2012年至今,在深度学习推动下,这一波人工智能的蓬勃发展已进入第十个年头。 在初期,一系列由AI科学家创建的初创公司,经过大浪淘沙,如今已有多家脱颖而出成为独角兽企业;榜样在先,于是...

jackli2020
27分钟前
9
0
什么是PHP中的线程安全或非线程安全? - What is thread safe or non-thread safe in PHP?

问题: I saw different binaries for PHP, like non-thread or thread safe? 我看到了PHP的不同二进制文件,例如非线程还是线程安全的? What does this mean? 这是什么意思? What is the ...

fyin1314
40分钟前
26
0
移动社交如何玩?网易云信携手崽崽和Uki打造更多新场景!

随着95后、00后为主的年轻一代逐渐成为中国移动社交下的主力军,社交需求也发生了一些变化。这些年轻用户更倾向于有趣好玩,形式多样化的社交方式。同时也产生了如“扩列”、“养火花”等众多...

真正稳定的网易云信
47分钟前
22
0
如何在Java代码中去掉烦人的“!=null”

问题 为了避免空指针调用,我们经常会看到这样的语句 if (someobject != null) { someobject.doCalc();} 最终,项目中会存在大量判空代码,多么丑陋繁冗!如何避免这种情况?我们是否滥...

码农突围
48分钟前
21
0
ELK使用容器集成安装

ELK使用容器集成安装 1. 查看集成ELK:sebp docker search sebp 2. 设置内核参数 sysctl -w vm.max_map_count=262144 3. 拉取sebp/elk docker pull sebp/elk 4. 运行ELK yum install -y java......

huanke
57分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部