PLSQL Developer 70 用户指南 2128.docx

上传人:b****4 文档编号:4907320 上传时间:2022-12-11 格式:DOCX 页数:23 大小:466.06KB
下载 相关 举报
PLSQL Developer 70 用户指南 2128.docx_第1页
第1页 / 共23页
PLSQL Developer 70 用户指南 2128.docx_第2页
第2页 / 共23页
PLSQL Developer 70 用户指南 2128.docx_第3页
第3页 / 共23页
PLSQL Developer 70 用户指南 2128.docx_第4页
第4页 / 共23页
PLSQL Developer 70 用户指南 2128.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

PLSQL Developer 70 用户指南 2128.docx

《PLSQL Developer 70 用户指南 2128.docx》由会员分享,可在线阅读,更多相关《PLSQL Developer 70 用户指南 2128.docx(23页珍藏版)》请在冰豆网上搜索。

PLSQL Developer 70 用户指南 2128.docx

PLSQLDeveloper70用户指南2128

21.PL/SQL美化器

如果你与几个开发者一起在工程小组里开发、维护和支持PL/SQL代码,那么所有的工程成员都使用相同的代码风格是有用的。

这将对产品的质量和生产效率是有益的。

要实施这个,PL/SQLDeveloper提供了一个PL/SQL美化器。

你要做的所有事情就是设置PL/SQL美化器选项,并可以通过PL/SQL美化器规则随意地定义代码风格(你也可以简单地采用默认规则)。

之后,当你工作时,你的PL/SQL代码将自动被美化,或者通过激活美化器选项被明确地美化。

21.1定义选项

要定义PL/SQL美化器选项,请选择来自于编辑菜单的相应项目,下列首选项对话框将显示出来:

规则文件决定了美化你的代码时将要遵循的规则。

你可以保留它为空而采用默认规则,它可以通过在PL/SQLDeveloper安装目录里的default.br文件来定义。

要了解关于这些规则的更多信息,请看下一章。

此外,你还可以定义你的PL/SQL代码将在什么时候被自动美化:

•在创建后-只要一个新的程序文件被通过模板创建,或者一个DML语句从对象浏览器里被拖放到程序窗口里。

•在载入后-在程序文件从文件系统里被载入之后。

这不影响来自于Oracle数据库的被打开的代码。

•在编译前-当你在程序窗口里编译程序时。

这保证了Oracle数据库里的所有PL/SQL代码都遵照美化规则。

•在保存前-在程序文件被保存到文件系统之前。

21.2定义规则

如果你在选项对话框里按编辑按钮,你就可以查看或编辑已选文件的规则:

在改变了这些规则之后,你可以按保存或保存为按钮来保存这些改变。

你还可以打开另一个文件用于查看或编辑,并且通过按相应的按钮你可以恢复到默认规则。

如果你以新的名称保存了文件或者打开了不同的文件,你需要在选项对话框上选择那个规则文件以使这些规则有效。

在一般标签页上,你可以改变应用到你的PL/SQL代码的一般样式的规则。

你做的所有改变将立即在对话框下部的预览窗格里可以看到,而且大多数选项都是不说自明。

下列选项需要做一些解释:

•缩进-针对嵌套结构(例如begin/end、if/then/else、loops等等)将要缩进的空格数。

•右边距-只要代码需要转到下一行,右边距就会被当作指引线使用。

在那里也许有超越右边距的情况,例如长字符串被使用时就可能是这样。

•使用跳格字符-当被允许时,作为结果的代码将允许用硬跳格符(字符9)来缩进代码。

当被禁止时,空格将被使用。

•跳格字符大小-硬跳格符表现出的字符数。

这在使用跳格字符选项被允许时并没有用,但对于正确地对齐包含硬跳格符的注释还是有用的。

•空行-你可以定义空行应该被移除,还可以定义美化器将通过它自己的规则插入空行、或者后来的空行组应该合并为一个空行、或者所有的空行都被保留。

项目列表-这些规则应用到所有的不分成其它标签页类的项目列表。

语法大小写-决定了PL/SQL关键词和标识符怎样用大写字母来写。

使用特殊大小写选项允许你定义指定大写的字数。

例如,如果你在这个列表里包含了DBMS_Output,这将是那个词在你的PL/SQL代码里的准确的大写。

其它标签页包含了应用到你的PL/SQL代码的特殊样式的规则。

这些规则还是不言自明的,被示范在预览窗格里。

21.3使用美化器

如果你在选项对话框上还没有选择任何美化事件,通过选择编辑菜单的PL/SQL美化器项目、通过按工具栏里相应的按钮或通过使用被指派给它的功能键,你都可以明确地美化你的代码。

在默认的情况下,在当前的PL/SQL编辑器里的所有代码都将被美化。

如果有严重的错误出现在代码里,它就不会被美化,而且你会收到一个错误消息。

作为一种选择,你还可以选择一块完整的PL/SQL代码(例如,一个本地的函数或过程,或者一个DML语句)并激活美化器。

22.模板

只要你创建一个新的程序单元,它的初始内容都是基于模板的,模板包含了预先定义的文本和变量。

当选择了一个模板时,你将被提示输入这些当时放在模板文本里的变量的值。

模板还可以用于把SQL或PL/SQL代码片断插入到现有的源里。

例如,你可以创建一个cursor-for-loop的模板,无论你何时需要这样的程序结构你都可以用它。

模板是纯文本文件,它位于Template目录里,以.tpl为扩展名。

对于所有的程序单元类型,模板都是预先被定义好的,普通的SQL和PL/SQL结构的模板也是这样。

你可以为你自己特定的环境修改和创建模板。

22.1模板窗口

模板窗口显示出了模板目录的层次结构,这使你组织模板变得容易了。

当你第一次启动PL/SQLDeveloper时,模板窗口将停靠在对象浏览器的下方。

这样,它总是可用的,从不妨碍其它文档窗口的查看:

这里有很多被预先定义好的模板,它们按下列模板文件夹被组织起来:

•常数-用于PL/SQL常数声明的模板。

•默认-带有SQL窗口、测试窗口、命令窗口或解释计划窗口的默认内容的模板。

它还包含了一个新的视图对象的模板。

你大概不会在这里直接使用这些模板,但可以在这里维护它们。

•DML语句-你可以在PL/SQL里使用的DML语句的模板。

•循环-各种PL/SQL循环的模板。

•包组件-能被用于包说明或包体的组件的模板。

PLSQL类型-能在PL/SQL里被声明的所有类型的模板。

程序单元-这是一个特殊的文件夹,它包含了针对新的程序单元的模板。

只要你创建一个新的程序单元,来自于这个文件夹带有与程序单元类型一样的名字的模板就会被使用。

SQL函数-带有所有函数的模板,例如add_months、substr等等。

如果你不知道特定函数的准确名称或参数含义,那么这个模板就可能是有用的。

类型组件-能被用于类型说明或类型体的组件的模板。

变量-PL/SQL变量声明的模板。

在默认的情况下,模板窗口被停靠在对象浏览器的下方,但是通过右击它并选择来自于弹出式菜单的浮动项目你可以把它转入到浮动窗口。

要再一次停靠窗口,就按同样的过程行事。

通过选择来自于弹出式菜单的关闭项目,你可以关闭模板窗口。

要使模板窗口再现,请选择工具菜单里的模板项目。

通过在窗口菜单里使用将保存当前状况的保存版面项目,你可以保存这个版面以用于你下次启动PL/SQLDeveloper。

这个功能的更多详细资料在第28.2章里有描述。

22.2使用模板

要插入模板到现有的源,你可以简单地双击它。

如果模板包含了必须被用户指定的变量,一个输入表单将在文本被插入之前显示出来。

例如,如果你双击了函数实现模板,下列输入表单将显示出来:

在填了表单并按了确定按钮之后,模板文本将被插入到源里当前光标所在的位置:

你还可以把一个模板从模板窗口拖放到编辑器里指定的位置,这个位置也决定了模板文本的缩进。

同样地,你可以右击编辑器里的一个地方,并选择一个来自于弹出式菜单的模板子菜单的模板项目。

22.3创建和修改模板

要修改现有的模板,请右击它并选择来自于弹出式菜单的修改项目。

这将调出带有模板文本的文本编辑器,这个文本包含了模板的完整说明,包括变量、查询等等。

模板文本的格式在下面的章节里有描述。

要创建一个新模板,请在你要创建它的文件夹里右击它,并且选择来自于弹出式菜单的新建模板项目。

你将首先被提示输入一个模板的名字,之后模板文本编辑器将显示出来。

通过选择来自于弹出式菜单的新建文件夹项目,你还可以创建一个新的文件夹。

模板文本

模板说明包含了文字文本和变量。

文字文本将简单地被复制到源文件里,不带有任何修改。

设想一下一个名叫Commit的模板,它只包含了文字文本commit;。

当这个模板被双击时,文本commit;就被插入到光标所在位置的源里了。

方括号指出了模板里的变量(见下面),所以如果你要使用方括号作为文字文本,就要使用两个方括号以代之,例如:

[[option]]。

用户变量

模板变量是模板文本里的代码,它将被用置换文本替换掉。

这个置换文本可以是一个隐含的值,就象当前日期或用户名,或者它可以被用户指定。

当模板被调用时,这些用户变量将在输入表单里显示出来。

下面的例子为函数模板定义了变量Name和Type:

createorreplacefunction[Name]return[Type]is

begin

return(result);

end[Name];

当这个模板被调用时,用户可以指定Name和Type变量的值。

正象你能看到的,Name变量被使用了两次。

用户被提示为它输入一个值只有一次,两个具体值都将被用同样的值替换。

对于用户变量,下列的功能是可用的:

•默认值变量的默认值可以简单地在变量名后面被替换。

要定义varchar2为默认函数类型,你可以使用下列声明:

[Type=varchar2]

•限制列表要为变量限制可能的值,你可以为它定义一个值的列表。

要把函数类型限制到varchar2、数字和日期,你可以使用下列声明:

[Type=varchar2,*number,date]前面带有星号的值将被用于默认。

•建议列表要为用户提供一个建议值的列表,还允许变量有其它的值,请使用…作为列表里最后的一个值:

[Type=varchar2,number,date,...]

•描述列表代替为列表项目和置换文本使用相同的文本,你还可以为每一个项目使用描述。

下面就是带有冒号和值的描述:

[Level=WriteNoDatabaseState:

WNPS,ReadNoDatabaseState:

RNDS,...]

•检验栏对于实际上是选项的变量,你可以使用一个检验栏。

在检验栏的值之间放一个斜杠,左为未检验,右为已检验。

下列变量将在检验栏为未检验时插入文本foreachrow,在检验栏为已检验时插入文本foreachstatement:

[Statementlevel?

=foreachrow/foreachstatement]

如果你要在置换文本里使用特殊字符(像逗号、括号等),你可以用双引号引上文本。

下面是一个触发器模板的例子,正好使用用户变量:

createorreplacetrigger[Name]

[Fires=before,after,insteadof][Event=insert,update,delete,...]

on[Tableorview]

[Statementlevel?

=foreachrow/foreachstatement]

declare

--localvariableshere

Begin

;

end[Name];

注意,你可以在一个模板里创建多个程序单元,用只带有一个斜杠(/)字符的线来分隔它们。

这样,你就可以在一个单独的程序文件里创建一个包说明和体的模板。

当这个模板被使用时,用户将被提示按下列方法输入变量值:

隐式变量

除了用户变量之外,你还可以使用隐式变量。

这些变量的置换文本不被用户指定,但被系统定义(日期、用户名),或者被模板开发者定义(查询、文本)。

系统变量

下面有四个系统变量被定义:

•$OSUSER-操作系统用户名。

•$DBUSER-当前登录的数据库用户名。

•$DATE-当前日期。

•$TIME-当前时间。

下面例子模板的前两行把Windows用户和当前日期/时间插入到了源文件里:

--Author:

$OSUSER

--Created:

$DATE$TIME

--Purpose:

[Purpose]

procedure[Name]is

begin

;

end[Name];

注意,系统变量在模板文本里不使用方括号,但在前面加上$符号。

如果你要使用系统变量的原名而不是置换值在作为结果的文本里显示出来,你可以通过在名字前放上第二个$符号来避开这个置换值。

例如:

--$$Date$$Revision$

作为结果的文本将是$Date$$Revision$。

光标位置

光标位置变量决定了在模板文本被插入到编辑器里之后文本光标将在编辑器里的什么地方。

仅仅在你希望的地方放上[#]就可以了:

lo

op[#]

endloop;

查询变量

你可以使用查询在模板里组装选择列表。

下列例子定义了查询seq_query,它在随后被当作Sequence变量的建议列表而被使用:

[$QUERYseq_query=

selectlower(object_name)fromuser_objects

whereobject_type='SEQUENCE'

orderbyobject_name]

select[Sequence=$seq_query,...].nextvalinto[Variablename]fromdual;

Sequence变量是一个建议列表,这是因为查询被“,…”跟随着,这意味着其它值能被用户用手工输入。

查询结果能简单地被当作逗号分隔的值的列表来查看。

包括和排除文本

你可以在模板里包括或排除文本,这依赖于另外一个变量的值。

在下面的例子里,如果Searchcondition被用户输入了,词where就被添加了:

select[Itemlist]

into[Variablelist]

from[Tablelist][+Searchcondition=where][Searchcondition];

结果,用户不必在搜索条件里键入“where”。

要排除一段文本,请使用–Variablename语法来取代+Variablename语法。

文本变量

你可以在模板里定义文本变量并在模板的其它部分里提到这些变量。

如果你要有条件地包括大段的文本,这就是特别有用的。

如果用户这样需要,下面的例子就包括了一个异常块:

[$TEXTexception_block=

exception

whenno_data_foundthen...

whentoo_many_rowsthen...

whenothersthen...

end;]

select[Itemlist]

from[Tablelist]

into[Variablelist]

where[Searchcond

ition];[Exceptionblock=/$exception_block]

模板图标

在模板窗口里树形视图为每一个模板都显示了一个图标。

模板窗口首先寻找与模板名一样的位图文件名。

对于模板Cursor.tpl,它将显示一个来自于同一个目录的名为Cursor.bmp的位图,如果这个位图文件存在的话。

如果这个位图不存在,它将在当前目录下的目录里寻找Cursor.bmp文件。

如果这个位图还是没有被找到,它将在当前目录里和下面的目录里寻找default.bmp文件。

模板图标的位图的大小应该是16x16像素,颜色为16色。

23.窗口列表

窗口列表允许你直接和容易地在多个文档窗口之间导航。

如果你喜欢用最小化文档窗口来工作,这个特性就特别有用,仅仅是你有大量的打开的窗口,这样一个列表也总是会使导航更容易。

在默认的情况下,窗口列表被停靠在对象浏览器和模板窗口的下面。

它仅仅在一个或多个窗口被打开时才是可见的,并且显示了标题和这些窗口的状态:

如果你点击这些项目之一,相应的窗口就会被激活。

如果你在窗口列表里右击一个项目,下面的弹出式菜单将被显示出来:

从这个弹出式菜单里,你可以激活、关闭和调整窗口大小到正常或最小状态。

你还可以通过按Shift键并点击列表里的项目来关闭一个窗口。

此外,你可以重新命名一个窗口。

如果你正好创建了一个新的窗口并且要为它提供一个有意义的名字,你又不想用比如SQL窗口-新建这样的名字,这就可能是有用的。

新建菜单项目允许你创建一个新的程序窗口、SQL窗口、测试窗口、命令窗口或解释计划窗口。

要运行某一窗口,你可以选择执行菜单项目。

通过选择浮动项目,你可以把窗口列表转为浮动窗口。

要再一次停靠窗口,请按照同样的过程来做。

要关闭窗口列表,请选择关闭项目。

要使窗口列表重现,请选择窗口菜单里的列表项目。

通过在窗口菜单里使用将保存当前状况的保存版面项目,你可以保存这个版面以用于你下次启动PL/SQLDeveloper。

这个功能的更多详细资料在第28.2章里有描述。

24.可停放和浮动的工具

下列工具能被停放或者能被放到浮动窗口里:

•对象浏览器

•窗口列表

•模板列表

•书签列表

•搜索栏

•搜索结果

要停放一个工具,简单地把它拖到工作区的左、右、上、下边就可以了。

你一接近到工作区的边,一个图文框就被显示出来了,它指示出了停放位置。

如果另一个工具已经被停放到了这个位置,你还可以上、下拖这个新工具到左边、右边或者其它工具内部。

如果你拖了一个工具到其它工具内部,它们将在不同的标签页上的同样位置都变得可用(请看上面屏幕截图里的窗口列表和模板列表)。

要使一个工具浮动,简单地把它从停放位置拖到浮动位置就可以了。

25.授权

在安装了PL/SQLDeveloper之后,在系统权限和被授予到连接到数据库的Oracle用户的对象权限的范围内,所有的用户都能使用PL/SQLDeveloper的全部功能。

例如,如果Oracle用户没有createuser的系统权限,PL/SQLDeveloper也能在PL/SQLDeveloper里启动新建用户功能,但最终能得到一个来自于Oracle的错误信息:

“ORA-01031,权限不够”。

你可以明确地把所有相关的PL/SQLDeveloper功能授权给特定的Oracle用户和角色。

在一个开发数据库里,你将允许所有的开发者使用所有的功能;然而在产品数据库里,你将典型地对大多数用户禁止所有功能,以使他们不能改变数据库或者不能占用太多资源而影响运行。

通过授予PL/SQLDeveloper权限给角色,你可以为特定人群定制授权。

你可以利用现有的映射到用户组的角色(例如DBA和RESOURCE)或者你可以专门为PL/SQLDeveloper用户组创建一些角色。

25.1启用授权

授权信息被储存在sys方案的plsqldev_authorization表里。

只要数据库里没有这个表,所有用户就都有权使用PL/SQLDeveloper的所有功能。

如果你连接到还没有授权的数据库并且选择来自于文件菜单的授权项目,你将得到下列问题:

如果你选择是,一个空的授权表就被创建了。

注意,你必须被连接为DBA才能创建这个表。

在这个表里,你一创建一个或多个权限,授权就被激活了,而且仅仅被授权的用户可以在这个数据库里使用PL/SQLDeveloper。

在默认的情况下,只有表的所有者(sys)或另一个DBA才能改变表或更新它的内容。

在表里,所有的用户都有select权限。

25.2定义授权

要定义授权,你必须被连接为DBA并且启动来自于文件菜单的授权功能。

下列对话框将显示出来:

在上部,你将看到所有的用户和角色,它们都具有一个或多个已经被授予的PL/SQLDeveloper的权限。

在下部,你可以看到当前已选的被授予者的实际权限。

要添加一个被授予者,请按被授予者列表右边的新建被授予者按钮。

这将调出一个所有潜在被授予者的列表(用户和角色)。

你可以选择一个或多个(Ctrl-点击或Shift-点击)被授予者并按确定按钮来添加他们。

在这里,这些新的被授予者还没有任何权限。

要移除一个被授予者和它的权限,请按移除被授予者按钮。

这不会影响数据库里的实际用户和角色,只不过是从授权表里移除了它的权限而已。

要授予权限,请从列表里选择被授予者并按权限列表右边的授予权限按钮。

一个PL/SQLDeveloper所有权限的列表就被显示出来了,在这里你可以选择一个或多个权限。

共有三种权限:

•系统权限-PL/SQLDeveloper系统功能(例如登录)。

•对象权限-数据库对象类型特定权限(例如删掉表)。

•菜单权限-使用PL/SQLDeveloper菜单功能的权限(例如,工具>会话)。

注意:

如果用户没有System.Logon或All权限,他或她就不能在当前数据库实例里使用PL/SQLDeveloper。

你可以选择单独的权限或者选择不同等级的权限。

例如:

•All-授予PL/SQLDeveloper的所有权限。

Objects.All-授予PL/SQLDeveloper的所有权限到数据库对象。

Objects.RenameAll-授予PL/SQLDeveloper的所有的涉及到重新命名数据库对象的权限(重新命名表、视图、序列和同义词)。

Objects.RenameTable-授予PL/SQLDeveloper的用于重新命名表的权限。

注意,对于数据库对象,Oracle用户或角色仍然必须有必要的系统权限以用于执行操作。

授予Objects.DropUser权限仍然需要删掉用户的系统权限。

还要注意的是,如果用户有删掉用户的系统权限,他就能从SQL或PL/SQL脚本里执行删掉用户命令。

25.3停用授权

要永远停用授权,你可以删掉sys.plsqldev_authorization表或者删除所有记录。

要临时停用授权,你既可以撤回在表里的权限又可以重新命名它(使它在PL/SQLDeveloper用户里不可见)。

要在以后再一次允许它,你就再一次授予select权限。

26.Oracle文件系统(OFS)

OFS允许你在Oracle数据库里储存你的所有文件(源、脚本、报告等等)。

这是有好处的,数据库对象与对这些对象产生影响的文件一样,二者能被储存到相同的数据库里,并且都能被已经访问到这个数据库的所有用户访问。

此外,数据库对象和文件被保证是一致的,并且能用一致的方法来备份和恢复。

文件能用通常的方法保存和打开,它带有有一些扩展名的标准的文件打开/保存对话框。

26.1OFS管理器

在任何人能从PL/SQLDeveloper内部使用OFS之前,你必须使用OFS管理器来定义一个有一个或多个OFS存储单元的OFS存储单元目录。

对于每一个存储单元,你需要安装OFS数据库对象。

创建OFS存储单元目录

要启动OFS管理器,请转到PL/SQLDeveloper首选项并选择目录页。

在这一页的底部,你能发现OFS管理器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1