oracle入门很简单:六、开发利器——PL/SQL Developer

时间:2022-06-23 20:22:50

PL/SQL 是过程化编程语言(Procedural Language)的简称。PL/SQL Developer是Oracle公司提供的专门针对oracle数据库开发的软件。

1.登录数据库

要使用PL/SQL Developer进行开发,首先必须登录数据库。PL/SQL Developer的登录对话框如图所示:

oracle入门很简单:六、开发利器——PL/SQL Developer

在该对话框中,需要输入以下信息:用户名(Username)、密码(Password)、数据库名称(Database),以及连接身份(Connect as)。其中,数据库列表选项为tnsname.ora文件中已定义的Net服务名:连接身份一般有3种选项:Normal、SYSDBA、SYSOPER。对开发人员来说,使用默认的Normal即可。

在输入正确的信息之后,单击确定,将进入PL/SQL Developer主窗口,如图所示:

oracle入门很简单:六、开发利器——PL/SQL Developer

2.SQL Window与Command Window

在PL/SQL Developer中,有两种常用的窗口即SQL Window与Command Window。单击新建图标,选择SQL Window选项,可以创建一个新的SQL Window,如图所示。

oracle入门很简单:六、开发利器——PL/SQL Developer

SQL Window一般用于执行DML操作,例如,常见的查询、更新数据库。尤其对于查询结果集,SQL Window具有良好的可读性。

当多条SQL语句一起执行时,需要使用begin end块方式,如图所示。

oracle入门很简单:六、开发利器——PL/SQL Developer

单击新建图标,选择Command Window选项,可以创建一个新的Command Window,如图所示。

oracle入门很简单:六、开发利器——PL/SQL Developer

Command Window类似于sqlplus的命令行,可以执行SQL Window中不能执行的命令。

3.备份与恢复

可以利用PL/SQL Developer进行备份与恢复数据库,其步骤如下所示。

(1)选择工具->导出用户对象命令,将弹出对象选择窗口,如图所示。

oracle入门很简单:六、开发利器——PL/SQL Developer

(2)选择要导出的对象,并选择导出时是否包含权限信息(Include Privileges)、是否包含存储信息(Include Storage)、是否包含所有者信息(Include Owner),以及所有对象被导出为一个还是多个SQL文件。选择导出路径,然后单击导出按钮,为所有对象生成创建脚本。恢复对象时,只需执行备份出的SQL脚本即可。

(3)除了导出对象的创建脚本之外,还应该导出当前用户所有表的数据。选择工具->导出表命令,将弹出表的选择窗口,如图所示。

oracle入门很简单:六、开发利器——PL/SQL Developer

(4)对于表的导出方式,有3种选项可供选择:Oracle导出、SQL插入和PL/SQL Developer方式。Oracle导出是以oracle的exp命令(oracle安装目录下的exp.exe)导出、SQL插入是生成SQL的插入语句脚本、PL/SQL Developer是以PL/SQL Developer自带导出方式来导出的。

(5)选择何种方式导出,在恢复数据表时,均需使用对应的方式。Oracle导出方式导出,则必须以Oracle导入方式导入,即以oracle的imp命令(oracle安装目录下的imp.exe)导入;SQL插入只需执行SQL脚本即可,但是速度最慢;PL/SQL Developer方式的备份则必须利用PL/SQL Developer方式导入。

(6)选择工具->导入表命令,将打开数据表导入窗口。

(7)对于数据库迁移来说,如果源数据库与目标数据库为同一版本的oracle,则推荐使用Oracle导出或者PL/SQL Developer方式;如果两个数据库版本不同,或者两个数据库中的一个并非Oracle,则可以使用SQL插入方式。

4. 执行计划

在SQL Window中输入一条SQL语句,然后单击工具栏中的Explain Plan或者直接按下F5可以查看该SQL语句的执行计划。

对于一条SQL语句来说,执行计划可以了解其执行轨迹,并判断其执行效率。例如,对于 select * from students,其执行的轨迹为对表students进行全表扫描。用户可以利用该功能,对复杂的SQL查询进行不断优化。