首页 > 数据库 >[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)

[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)

时间:2023-06-13 16:08:07浏览次数:72  
标签:千里之行 语言 1.2 编程 SQL ORACLE PL


[推荐]ORACLE PL/SQL编程详解之一:

PL/SQL 程序设计简介(千里之行,始于足下)


——通过知识共享树立个人品牌。



继上六篇:

       [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)

       [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)

       [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)



 [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)



       ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) 



 ORACLE PL/SQL编程之八:把触发器说透 



接下来再次介绍PL/SQL的基础篇:PL/SQL 程序设计简介,还望大家继续支持与推荐~!


 


本篇主要内容如下:

第一章   PL/SQL 程序设计简介

1.1与PL/SQL

1.1.1  什么是PL/SQL?

1.2的优点或特征

1.2.1  有利于客户/服务器环境应用的运行

1.2.2  适合于客户环境

1.2.3  过程化

1.2.4  模块化

1.2.5  运行错误的可处理性

1.2.6  提供大量内置程序包

1.3可用的SQL语句

1.4PL/SQL程序


 



SQL语言只是访问、操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发。PL /SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理。除此之外,可以在ORACLE数据库的某些客户端工具中,使用PL/SQL语言也是该语言的一个特点。本章的主要内容是讨论引入PL/SQL语言的必要性和该语言的主要特点,以及了解PL/SQL语言的重要性和数据库版本问题。还要介绍一些贯穿全书的更详细的高级概念,并在本章的最后就我们在本书案例中使用的数据库表的若干约定做一说明。


1.1与PL/SQL

1.1.1  什么是PL/SQL?

PL/SQL是 Procedure Language & Structured Query Language 的缩写。ORACLE的SQL是支持ANSI(American national Standards Institute)和ISO92 (International Standards Organization)标准的产品。PL/SQL是对SQL语言存储过程语言的扩展。从ORACLE6以后,ORACLE的RDBMS附带了PL/SQL。它现在已经成为一种过程处理语言,简称PL/SQL。目前的PL/SQL包括两部分,一部分是数据库引擎部分;另一部分是可嵌入到许多产品(如C语言,JAVA语言等)工具中的独立引擎。可以将这两部分称为:数据库PL/SQL和工具PL/SQL。两者的编程非常相似。都具有编程结构、语法和逻辑机制。工具PL/SQL另外还增加了用于支持工具(如ORACLE Forms)的句法,如:在窗体上设置按钮等。本章主要介绍数据库PL/SQL内容。


1.2  PL/SQL的优点或特征

1.2.1  有利于客户/服务器环境应用的运行

对于客户/服务器环境来说,真正的瓶颈是网络上。无论网络多快,只要客户端与服务器进行大量的数据交换。应用运行的效率自然就回受到影响。如果使用PL/SQL进行编程,将这种具有大量数据处理的应用放在服务器端来执行。自然就省去了数据在网上的传输时间。


1.2.2  适合于客户环境

PL/SQL由于分为数据库PL/SQL部分和工具PL/SQL。对于客户端来说,PL/SQL可以嵌套到相应的工具中,客户端程序可以执行本地包含PL/SQL部分,也可以向服务发SQL命令或激活服务器端的PL/SQL程序运行。


1.2.3  过程化

PL/SQL是Oracle在标准SQL上的过程性扩展,不仅允许在PL/SQL程序内嵌入SQL语句,而且允许使用各种类型的条件分支语句和循环语句,可以多个应用程序之间共享其解决方案。



1.2.4  模块化

PL/SQL程序结构是一种描述性很强、界限分明的块结构、嵌套块结构,被分成单独的过程、函数、触发器,且可以把它们组合为程序包,提高程序的模块化能力。



1.2.5  运行错误的可处理性

使用PL/SQL提供的异常处理(EXCEPTION),开发人员可集中处理各种ORACLE错误和PL/SQL错误,或处理系统错误与自定义错误,以增强应用程序的健壮性。



1.2.6  提供大量内置程序包

ORACLE提供了大量的内置程序包。通过这些程序包能够实现DBS的一些低层操作、高级功能,不论对DBA还是应用开发人员都具有重要作用。

    当然还有其它的一些优点如:更好的性能、可移植性和兼容性、可维护性、易用性与快速性等。


1.3可用的SQL语句

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

INSERT,UPDATE,DELETE,SELECT INTO,COMMIT,ROLLBACK,SAVEPOINT。


提示:在 PL/SQL中只能用 SQL语句中的 DML 部分,不能用 DDL 部分,如果要在PL/SQL中使用DDL(如CREATE  table  等)的话,只能以动态的方式来使用。


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

l PL/SQL 可以在SQL*PLUS 中使用。

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

l PL/SQL可以在ORACLE的开发工具中使用(如:SQL Developer或Procedure Builder等)。

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

1.4PL/SQL程序

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







© 2011  EricHu

原创作品,转贴请注明作者和出处,留此信息。




作者:EricHu(DB、C/S、B/S、WebService、WCF、PM等)

本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵犯了您的版权,请及时与我联系。
更多文章请看 [置顶]索引贴——(不断更新中) 



标签:千里之行,语言,1.2,编程,SQL,ORACLE,PL
From: https://blog.51cto.com/guosisoft/6470910

相关文章

  • PLC数据采集在农业机械智慧运维中的作用
    随着智慧农业的持续推进,农机自动化已经成为推进农业规模化、智能化生产的重要动能,可以高效地解决生产中的各种问题,实现各生产要素的优化配置。PLC应用在农业机械中能够实现自动操作,极大地降低了农业生产的劳动强度,提高了农业生产的效率,助力农业的信息化、精细化管理。 通过PLC数据......
  • C#连接MySql数据库的方法
     用MySQLDriverCS连接MySQL数据库   先下载和安装MySQLDriverCS,地址:   http://sourceforge.net/projects/mysqldrivercs/   在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中   注:我下载的是版本是MySQLDriverCS-n-EasyQueryTools-4.0......
  • 经典SQL语句大全
    经典SQL语句大全下列语句部分是Mssql语句,不可以在access中使用。SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:......
  • 【pyqt】报错TypeError: decorated slot has no signature compatible with RecorderP
    一、场景  运行pyqt报错TypeError:decoratedslothasnosignaturecompatiblewithRecorderPlayerProxy.sig_mode_update[object] 二、代码@Slot(int)defupdate_mode(self,mode):...... 三、解决方法  将int去除即可  参考链接:p......
  • Sql 视图
    1.定义:视图是由多张实体表联合查询后,组成的一张不含任何数据的虚拟表,存在表名,字段列。2.为什么使用视图:视图保存的是select语句,可以简化用户操作,将频繁使用的查询语句保存成视图,可以不用每次都重新写Sql语句。在创建好视图后,可以将视图和其他实体表一样,用Select语句进行查询数据......
  • Remove Duplicates from Sorted Array
    Example1:Input:nums=[1,1,2]Output:2,nums=[1,2,_]Explanation:Yourfunctionshouldreturnk=2,withthefirsttwoelementsofnumsbeing1and2respectively.Itdoesnotmatterwhatyouleavebeyondthereturnedk(hencetheyareunderscores)......
  • mysql mariadb修改端口后启动失败
    修改端口号启动失败关闭SETLinux临时关闭,不需要重启电脑,重启后失效执行命令:setenforce0永久关闭,需要重启机器,修改/etc/selinux/config文件将SELINUX=enforcing改为SELINUX=disabled重启mysql服务即可......
  • Sql 存储过程
    定义: StoredProcedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的......
  • ios开发 :CUICatalog: Invalid asset name supplied: '(null)'
    _iconImage.image=[UIImageimageNamed:sourceDic[@“image”]];明明有图片,但还是提示这个图片名称不存在报错CUICatalog:Invalidassetnamesupplied:'(null)'打断点进去,显示_iconImage的值是nil添加断点定位到错误在109行-(NSArray*)messageTableSource{if(_mes......
  • sql 一对多,并且合并多的那字段
    SELECTwa.idASalbum_id,om.truenameASauthor,wa.titleASalbumTitle,wac.titleAScategoryTitle,wa.createtimeASpostTime, ......