Oracle 技术网

Oracle SQL Developer 的高级特性

<不要删除此文本,因为它是在浏览器中运行时生成的“主要”标题列表的占位符>

目的

该教程演示 Oracle SQL Developer 的几个更高级特性。

所需时间

大约 50 分钟

概述

Oracle SQL Developer 是一个免费的图形工具,可提高工作效率并简化数据库开发任务。使用 SQL Developer,用户可以浏览数据库对象,运行 SQL 语句,编辑和调试 PL/SQL 语句,以及运行报表(提供的或创建的均可)。Oracle SQL Developer 还有一些鲜为人知的特性,如基于文件的开发、集成版本控制,以及代码格式化和代码智能识别、复制、导出和比较之类样的简单特性。您还可以浏览您的 Oracle Application Express 应用程序。

本教程向您介绍几个更高级的特性,包括创建代码模板、使用扩展搜索功能、使用模式复制特性。有一节是专门针对使用 Application Express 的用户的。

Oracle SQL Developer 是用 Java 开发的,可在 Windows、Linux 和 Mac OS X 上运行。默认情况下通过 JDBC Thin 驱动程序连接到数据库,因此不需要 Oracle 主目录。要安装 Oracle SQL Developer,只需解压缩下载的文件。使用 SQL Developer,用户可连接到任何受支持的 Oracle Database,包括快捷版在内的所有 Oracle 数据库版本。

前提条件

开始本教程之前,您应该:

设置环境

本教程需要一些可供选择的用户。要准备环境,您需要使用 SQL Developer 创建一个新用户及各种连接。要完成这一设置,需要执行以下步骤:

.

打开 Oracle SQL Developer。

 

.

在 Connections 导航器中,右键单击 Connections 并选择 New Connection

 

.

使用以下详细信息创建 system_orcl 连接,然后单击 Test 验证其状态。

Connection Name:system_orcl
Username:system
Password:<口令> (Oracle Database 11g 中口令是区分大小写的。)
Hostname:localhost
Port:1521
SID:orcl

 

.

测试成功。单击 Connect 进行连接,同时保存该连接。

 

.

展开新建的系统连接。右键单击 Other Users 并选择 Create User

 

.

输入以下信息,然后单击 System Privileges 选项卡。

User name:test
Password test
Default Tablespace Users
Temporary Tablespace Temp

 

.

选择以下权限,然后单击 Apply

CREATE PROCEDURE
CREATE SEQUENCE
CREATE SESSION
CREATE TABLE

CREATE TRIGGER
CREATE TYPE
CREATE VIEW
UNLIMITED TABLESPACE

 

.

查看已执行的 SQL。单击 Close

 

.

为 test 用户创建另一个连接。右键单击 Connections 并选择 New Connection

 

.

输入以下详细信息,然后单击 Connect

Connection Name:test_orcl
Username:test
Password:test
选中 Save Password
Hostname:localhost
Port:1521
SID:orcl

 

.

为 hr 用户创建一个连接。右键单击 Connections 并选择 New Connection

 

.

输入以下详细信息,然后单击 Connect

Connection Name:hr_orcl
Username:hr
Password:hr
选中 Save Password
Hostname:localhost
Port:1521
SID:orcl

注意:如果您学习过另一个教程,并且在其中已经创建了 hr_orcl 连接,则可跳过该步骤。

 

导出对象

您可以使用 Export Wizard 将某个数据库连接的部分或全部数据库对象导出到某个文件。导出文件不仅包含用于创建导出对象的 SQL 数据定义语言 (DDL) 语句,而且在您选择导出的数据太多时,导出文件还将包含用于填充导出对象的数据操作语言 (DML)。

.

选择 Tools > Database Export

 

.

在 File 域中输入 c:\<将前提条件中的文件解压缩到的目录>\export.sql,然后选择 hr_orcl 连接。

 

.

默认情况下,DDL Option 下面的 Terminator 和 Pretty Print DDL 选项是选中的。查看其他可用选项,保留它们为非选中状态。单击 Next

 

.

如果导出文件已存在,您会收到一个提示,请您确认是否覆盖现有文件。单击 Yes

 

.

Types to Export 窗口包括您希望从 hr_orcl 连接中导出的对象类型。默认情况下,选定所有对象类型。单击 Toggle All 复选框取消对所有对象类型的选择。

 

.

只选择 Tables 对象类型,然后单击 Next

注意:您必须至少选择一个对象类型。

 

.

单击 Go 搜索满足您在上步指定的选择条件的所有类型。

 

.

列出了 hr 拥有的所有表。单击 EMPLOYEESDEPARTMENTS 表,然后使用箭头键将这两个表移动到窗口右侧的列表框中。

 

.

单击 Next

 

.

您可以查看将用于创建输出文件的信息,其中包含按照您指定的内容导出数据库对象和数据的语句。要创建输出文件,单击 Finish

 

.

输出文件也显示在 SQL Worksheet 窗口中,可以在该窗口中对该文件进行编辑并作为脚本运行。在下拉列表中选择 test_orcl 连接。

 

.

单击 Run Script

 

.

该脚本成功运行。在 Connections 导航器中,展开 test_orcl 连接。

 

.

展开 Tables。DEPARTMENTEMPLOYEES 两个表出现在列表中。

 

复制模式

您可以使用 Database Copy 将对象直接从源复制到目标模式。这是将全部表和数据从一个模式复制到另一个模式的最快速有效的方法。要在两个模式之间复制表,执行以下步骤:

.

选择 Tools > Database Copy

 

.

您将模式对象从 hr_orcl 连接复制到 test_orcl 连接。为 Source Connection 选择 hr_orcl,为 Destination Connection 选择 test_orcl,然后单击 Next

 

.

在 Copy Summary 中可以看到 HR 中的全部表都将在 Test 中创建,甚至包括 EMPLOYEES 和 DEPARTMENTS。单击 Finish

 

.

比较结果显示在 SQL Developer 窗口的 SchemaCopy 日志文件中。查看全部结果日志。您是否预计到会发现错误?单击 Refresh 查看新复制的对象。

 

.

显示新复制的对象。

 

.

在 SchemaCopy 日志中向下滚动,可以看到运行 CREATE TABLE "DEPARTMENTS" 语句时产生一个错误,该错误指示要创建的表已经存在。

 

搜索数据库对象

您可以查找与 Oracle 数据库连接关联的各种对象类型(表、列、函数或过程中的声明,等等)。搜索到一个对象后,您还可以在编辑窗格中打开这个对象对其进行编辑。在 Oracle SQL Developer 1.5 版及后续版本中,您可以利用 Oracle Database 11g 的 PLScope 特性,该特性允许用户搜索参数声明和参数引用。要搜索数据库对象,执行以下步骤:

.

选择 File > Open

 

.

从将前提条件中的文件解压缩到的目录中选择 proc_emp_cursor.sql 文件,然后单击 Open

 

.

从连接列表中选择 hr_orcl

 

.

单击 Run Script 图标。

 

.

该过程成功编译。

 

.

选择 View > Find DB Object

 

.

在 Find Database Object 窗口中,为 Connection 选择 hr_orcl,为 Name 输入 c_emp_cursor,然后单击 Lookup

 

.

您会看到没有找到要搜索的内容。单击 More

 

.

现在,当您执行查找时,将搜索所有类型的数据库对象,包括 PL/SQL 过程。单击 Lookup

 

.

现在,显示出搜索到的 c_emp_cursor

 

.

单击一个搜索到的 c_emp_cursor,在 PL/SQL 编辑器中查看和编辑它。

 

.

您还可以在搜索数据库对象时使用通配符。将 Name 更改为 %emp_cursor ,然后单击 Lookup

 

.

搜到的所有游标 c_emp_cursor 以及过程 proc_emp_cursor 均显示出来。

 

.

您可以对搜索结果应用筛选器。为 Usage 选择 DECLARATION,然后单击 Lookup

 

.

只有 DECLARATION 语句出现在列表中。

 

.

您还可以对 Type 应用筛选器。将 Usage 改回 All,为 Name 输入 %dept%,为 Type 选择 View,然后单击 Lookup

 

.

将显示名称中包含 DEPT 的所有视图。

 

为 SQL 工作表设置首选项

您可以根据您的喜好和需要通过修改 SQL Developer 的首选项来定制 SQL 工作表的各个方面。要设置 SQL 工作表的首选项,执行以下步骤:

设置拖放效果

拖放效果决定了将对象从 Connections 导航器拖至 SQL 工作表中时,在 SQL 工作表中创建的 SQL 语句的类型(选择、插入、更新或删除)。默认情况下,从导航器拖放到 SQL 工作表的操作将创建一个新的 Select 语句,会包含表中的所有列。您可以修改这些设置。

要根据您的喜好设置拖放效果,执行以下步骤:

.

选择 Tools > Preferences

 

.

展开 Database 并选择 Drag And Drop

 

.

Drag and Drop effects 更改为 Insert。单击 OK

 

.

在 Connections 导航器中,右键单击 hr_orcl 并选择 Open SQL Worksheet

 

.

依次展开 hr_orcl > Tables。选择 JOBS 表并将其拖至 SQL 工作表区域。

 

.

出现一个对话框询问您想创建什么类型的语句。注意,默认值设置为 Insert,您只能在您的首选项中更改该默认值。如果选中了 Prompt every time 复选框,将显示该对话框。取消选中 Prompt every time 复选框,然后单击 Apply

 

.

这就为 JOBS 表创建了一个 Insert 语句。

 

设置代码模板

您可以为常用代码创建代码模板。要创建和使用代码模板,执行以下步骤:

.

选择 Tools > Preferences

 

.

选择 Database > SQL Editor Code Templates。如果想创建新模板,单击 Add Template

 

.

在 Id 域中单击,然后输入 excep。接着在该行的 Template 域中单击。

 

.

单击 Edit 图标为该模板添加代码。

 

.

添加以下代码,引用代码模板时将使用这些代码。然后单击 Close

EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE ('The query did not return a result set');

 

.

单击 OK

 

.

展开 Procedures,然后选择 PROC_EMP_CURSOR

 

.

END LOOP; 下面的新行中键入 exc。您会看到弹出代码模板。双击代码模板。

 

.

您会看到代码模板插入到该过程中。从下拉列表框中选择 Compile

 

.

该过程成功编译。

 

集成 Application Express

Oracle SQL Developer 提供了一个到 Oracle Application Express 应用程序的接口,还提供了使用 Oracle APEX 时对您有所帮助的许多活动。在本教程,将执行以下操作:

浏览应用程序

SQL Developer 提供了许多浏览 Oracle APEX 应用程序的方法。在本节中,您将浏览 OEHR Sample Objects 应用程序,它是“Oracle Application Express 入门”在线指南的一部分。要浏览您的应用程序,执行以下步骤:

.

为 HR_APEX 用户创建一个新数据库连接。(如果还有前面各节中打开的其他选项卡,可以将其关闭。)

在 Connections 导航器中,右键单击 Connections 并选择 New Connection

 

.

输入以下详细信息,然后单击 Connect

Connection Name:hr_apex_orcl
Username:hr_apex
Password:hr_apex
Hostname:localhost
Port:1521
SID:orcl

 

.

在 Connections 导航器中,展开 Application Express 节点,将显示 hr_apex 模式拥有的所有应用程序的列表。

 

.

选择 Sample Application 将显示应用程序级详细信息,包括值列表、列表、模板、选项卡等。

 

.

展开 Sample Application 可以看到构成该应用程序的页面的列表。

 

.

单击 Master Detail 页面将显示一个包含所有页面级详细信息的详细信息选项卡。其中包括 Regions、Items、Buttons、Processes 等。

 

.

您可以比较不同页面或不同应用程序的详细信息。单击 Master Detail 页面的 Freeze View 图标。

 

.

选择 Add Modify Customers 页面将打开一个新选项卡并显示该页面的详细信息。

 

.

选择 Add Modify Customers 页面的选项卡并将它拖到 Master Detail 页面的下方,然后释放。(拖动时,您将看到一个显示新位置的蓝色方框。)

 

.

单击 Add Modify CustomersItems 选项卡。

 

.

然后单击 Master Detail 页面的 Items 选项卡。

 

.

现在您可以轻松地比较这两个页面的值了。查看完之后,您可以关闭这两个选项卡。

 

导入应用程序

您可以使用 SQL Developer 导入 Oracle Application Express 应用程序。在本节中,您将导入 TIMESHEETS 示例应用程序。Oracle APEX 提供了一些可供选择的打包应用程序,您可以安装这些应用程序,即取即用地使用它们,也可以对它们进行修改。您可以从 OTN 的 Oracle APEX 主页访问这些应用程序。(http://apex.oracle.com)

要导入并浏览 Oracle APEX 应用程序,执行以下步骤:

.

在 Connection 导航器中选择 hr_apex 连接,右键单击 Application Express 节点并选择 Import Application

 

.

在弹出的对话框中,单击 Browse 查找要导入的文件。

 

.

从将前提条件中的文件解压缩到的目录中选择 timesheets_installer_1.0.sql 文件,然后单击 Select

 

.

单击 Next

 

.

在 Choose Import Options 对话框中,选中 Run Install Script 选项并接受其他默认设置。然后单击 Next

 

.

查看结果。单击 Finish

 

.

导入过程很快将完成。单击 OK 完成该安装过程。

 

执行 Application Express 报表

SQL Developer 提供了一些可供选择的自带报表。这些报表中包括一些可供选择的 Application Express 报表。要查看某些报表,执行以下步骤:

.

选择 Reports 选项卡。

 

.

依次展开 All Reports > Data Dictionary Reports > Application Express 查看可用的报表。

 

.

单击 Applications。将显示 Select Connection 窗口,选择 hr_apex,然后单击 OK

 

.

将显示针对每个应用程序的带有详细信息的报表。单击 Sample Application

 

.

在详细报表中,选择 LOV 选项卡。在这里您可以查看该应用程序中存在的各种值列表。

 

总结

在本教程中,您学习了如何:

Oracle Is The Information Company 关于 Oracle| 招聘 | 联系我们 | 网站地图 | 法律声明 | 使用条款 | 您的隐私权利