10.3 使用PL/SQL工具创建存储过程

如果有了10.2节的基础,那么在PL/SQL Developer中操作存储过程就显得比较简单。该工具提供了一个相对便利的操作环境,尤其对于存储过程的调试和错误的查找都比SQL*Plus操作方便。本节就介绍如何在PL/SQL Developer中创建、调试存储过程。

10.3.1 在PL/SQL Developer中创建存储过程

PL/SQL Developer提供了创建存储过程模板,该模板允许我们输入存储过程名和参数,然后自动创建脚本。该脚本只是一个简单框架,细节则需要开发者自己完成。示例11演示了如何创建存储过程。

【示例11】使用PL/SQL Developer创建存储过程

创建存储过程分为如下9个步骤:

1)启动PL/SQL Developer工具,在整个布局的左上角单击【File】|【New】|【Program Window】菜单,在列表中找到【Procedure】选项,如图10.11所示。

10.3 使用PL/SQL工具创建存储过程 - 图1

图 10.11 PL/SQL Developer中的存储过程选项

2)单击该选项,弹出图10.12所示的过程模板窗口。

10.3 使用PL/SQL工具创建存储过程 - 图2

图 10.12 过程创建模板窗口

❑Name:表示创建的过程名称。

❑Parameters:过程的参数列表。

3)填写给出的两项信息。填写完成后如图10.13所示。

10.3 使用PL/SQL工具创建存储过程 - 图3

图 10.13 过程的模板参数填写

4)单击【OK】按钮。在Program窗口生成过程的PL/SQL脚本,如图10.14所示。

10.3 使用PL/SQL工具创建存储过程 - 图4

图 10.14 按照参数生成的过程脚本

从图10.14中可以发现该窗口垂直分成了两部分,其中左边部分显示过程的结构,而右边部分则显示具体的脚本。当鼠标在左边窗口选中某部分结构时,右边窗口对应部分也会出现选中的情况,如图10.14所示。利用这个特性可以快速地定位脚本,这和函数的创建页面布局一样。

5)手工填写具体的业务逻辑。这里完成根据输入的产品类型名称获取产品类型编码,并输出到屏幕的功能。

6)格式化脚本。为了提高脚本的可读性以及美观度,开发人员通常都会对脚本格式化,在PL/SQL Developer中选择【Edit】|【PL/SQL Beautifier】菜单,这时选中的脚本会自动进行格式化。效果如图10.15所示。

10.3 使用PL/SQL工具创建存储过程 - 图5

图 10.15 格式化以后的脚本

细心的读者会发现窗口中脚本的关键词都是大写,这需要相应的设置。单击PL/SQL Developer的【Tools】|【Preferences】菜单,在弹出的窗口左边的选项列表中找到【User Interface】下的【Editor】子列表并单击,同时在右边窗口中找到【Keyword case】选项,选择下拉列表中的【Uppercase】选项,设置页面如图10.16所示。单击窗口中的【OK】按钮进行保存。

10.3 使用PL/SQL工具创建存储过程 - 图6

图 10.16 关键词大写相关设置

7)修改存储过程的错误。存储过程的编写并不是每次都能成功,出现语法错误而导致存储过程不能使用是很常见的现象。当按F8键执行出现编译错误时,在Program窗口的下方会出现错误提示,可以根据该提示对程序进行修改。例如,本示例出现了图10.17所示的错误提示。

10.3 使用PL/SQL工具创建存储过程 - 图7

图 10.17 存储过程编译错误提示

箭头指向的位置是错误提示列表框,当选中某项错误记录时,脚本窗口也会高亮显示系统认为出错的行(有可能出错的地方在提示行附近)。根据经验对其判断修改即可。这里的错误是DBMS_OUTPUT.PUT_LINE脚本少了个字母E。

8)创建存储过程。排除脚本的错误后按F8键执行。如果没有错误,会提示创建成功。并且在PL/SQL Developer左边【Objects】透视图中的Procedures文件夹下看到创建成功的存储过程。具体效果如图10.18所示。

10.3 使用PL/SQL工具创建存储过程 - 图8

图 10.18 成功创建存储过程

9)执行存储过程。如果存储过程不需要测试,仅仅执行,那么可在SQL窗口使用如下语句块调用存储过程:


BEGIN

dev_proce_test('洗衣机');

END;


其结果可以输出到SQL窗口的Output标签页。除了这种执行方式,也可以通过Command窗口利用EXEC关键词执行存储过程。