专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

PL/SQL 杂谈(四)(pl/sql语言)

ins518 2025-07-21 14:42:14 技术文章 5 ℃ 0 评论

承接(三)。晚上在家闲来没事,这次我们来聊一聊关于创建和运行PL/SQL代码的的一些建议。

假设一个 PL/SQL 程序员从来没考虑过诸如系统设计或者单元测试这样的任务,那么他至少应该熟悉下面这些操作:

(1)在数据库中导航;

(2)创建和编辑 PL/SQL 源代码;

(3)编译 PL/SQL 源代码,改正编译器发现的错误或者警告;

(4)从某些环境中执行编译好的程序;

(5)检查程序运行结果(屏幕输出,表数据变化等)。

和C语言等一些独立语言不同,PL/SQL 是寄生在 ORACLE 内部执行环境中的,所以 PL/SQL 在完成上述任务时,时不时会有一些细微的差别,有一些差别是令人愉快的,而另外一些,则 令人苦恼。

1、在数据库中导航

我们需要检查数据结构(表,列,序列,用户自定义数据类型等等),还需要知道我们将要调用的、已存在的存储过程。当然,我们可能还需要知道表中的实际内容(列,约束等等)。

在数据库中导航有两种不同的方法:

(1)使用集成开发环境IDE。像 toad,SQL developer,SQL navigator 它们都提供可视化浏览器,支持鼠标点击导航操作。

(2)使用命令行方式,比如在SQL*plus环境,运行脚本来查询数据字典视图 all_objects 或者 user_objects 中的内容

我想,大多数人都会选择使用图形化的IDE,除非我们已经在ORACLE环境工作了很久,已经对命令行方式着迷,编写的各种脚本运行也相当高效,否则IDE更容易上手。

2、创建和编辑源代码

每个程序员喜欢的代码编辑器都不一样,有的喜欢 TOAD ,有的喜欢最简单的文本编辑器。一些复杂的编辑器可以提供很多功能:图形化的调试器,对关键字进行补全,当我们键入程序包的子程序名称时,提供程序预览,将编译器报错的行或者列设置为高亮。有的还能提高超链接功能,使得开发人员可以快速跳转到变量或者子程序的声明之处。

PL/SQL 所特有的是,在程序被编译和执行之前,它所调用的存储过程的源代码必须加载到数据库中。这份保留在数据库中的备份能被有足够权限的程序员查看。说到这,我们立刻就会想到如下这些代码管理问题:

(1)程序员如何,在哪里找到一个存储过程的原始备份?

(2)这些代码是存储在磁盘介质,还是仅仅存储在数据库中?

(3)我们多久需要做一次备份?如何备份?

(4)如何管理多个开发者对代码的访问?也就是说,我们是否因此需要一个版本控制系统?

在我们开始开发一个应用系统之前,就应该胸有成竹,最好是根据选择的软件开发工具来进行。没有哪一个单一的工具或者流程能适合所有的开发团队,一些大神级的人物通常都是把 源代码 保存在文件中——也强烈建议开发者不要把 RDBMS(关系型数据库管理系统) 作为代码存放处。

3、 使用 SQL*plus

作为oracle前端工具的鼻祖,SQL*plus提供了一个命令行解释器,既支持SQL,也支持SQL*plus。也就是说它接收用户端输入的语句,传递给oracle服务器,然后显示结果。

这些年来,ORACLE 提供了几个版本:

(1)一个控制台程序

这是一个从 SHELL 或者命令行提示符下运行的程序(这种环境有时被称为控制台)

(2)一个类 GUI 程序

这种形式的 SQL*PLUS 只存在 WINDOWS 环境下。一些大神称这个为 类GUI 。因为除了所用的字体为位图字体之外,除了很少的不同,它看上去和控制台程序没什么不同。而且 ORACLE 自从 8i 之后,这个产品没有升级过。

(3)iSQL*PLUS

这个程序从 WEB 浏览器窗口执行,WEB 浏览器连接到一个中间层,这个中间层上运行着 ORACLE HTTP 服务器和 iSQL*PLUS 服务器。

要注意的是,从ORACLE 11G开始,ORACLE 只提供控制台的 SQL*PLUS 程序。

大多数人喜欢控制台的原因无非有几个:

(1)屏幕绘制速度快,尤其当查询的输出量较大时,速度的差别非常明显;

(2)命令历史记录保存得更完善(至少在 WINDOWS 平台是如此);

(3)可以很容易调整字符的显示效果,比如字体,颜色和滚动缓存的大小;

(4)只要是安装了 ORACLE 服务器端和客户端的机器,都默认安装了 SQL*PLUS。

下一次,就主要介绍 SQL*PLUS 的一些操作。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表