首页 - 数据库 - SQL Server

PL/SQL DEVELOPER 6 模板格式设计应用指南(原译)

发布时间: 2007-04-19 05:04    作者: 未知    来源: 未知    浏览:    评论


PL/SQL DEVELOPER 6模板使用系列文档(二)







模板格式设计应用指南(译)








 


 



创建和修改模板







要修改已经存在的模板,请选择要修改的模板单击右键打开快捷菜单。这将打开显示模板内容的文本编辑器。文本中含有完整的模板内容,包括变量、查询等等。下面章节将介绍模板文本的详细格式。







要创建一个新的模板,右击你要创建的文件夹,从快捷菜单中选择 [New Template]。你首先要输入模板的名称,然后将会弹出模板编辑器。你也可以通过[New Folder]这个菜单来创建一个新的文件夹。







模板文本







模板文本包括文本及变量。文本可以不会经过任何修改简单的拷贝到源文件。拿一个仅包含文本”commit;”名为commit的模板为例,双击模板后,commit;这段文本将直接插入到原文的光标位置。在模板中用中括号括起为的表示为变量(见下文),所以如果你要将中括号当做一个文本使用请用两个中括号代替,例如:[[option]]







自定义变量







模板文本中的变量代码将被文本置换,这些置换的文本可以是一个固定的值,像当前日期或者当前的用户名,或者是用户特别定义的东西。当调用模板时这些用户变量将显示在打开的窗体上。下面是一个定义了变量名字[name]和类型[type]函数模板的例子:







create or replace function [Name] return [Type] is







begin







  return(result);







end [Name];







当调用模板时,用户可以将特定的值赋于Name和Type这两个变量。如你所看到的,Name变量使用两次,用户将只被提示一次,并且都被替换成相同的值。







l         缺省值







为变量定义的缺省值可以简单的放在变量名称的后面。你可以使用下面的描述来定义varchar2是缺省的函数类型function type:







[Type = varchar2]







l         固定列表







对于一些有固定值列表的变量,你可以定义它的选择列表值。如:要限制function的变量类型type为varchar2, number 和 date,你可按下面的方法定义:







[Type = varchar2, *number, date]







第一个带星号的列表值表示列表缺省值







l         可选列表







对于要提供给用户一列选择值,又允许输入其它的值的变量,在列表的最后增加...这个值即可。







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







l         可描述列表







要用文本替换列表内容,你可以为每个列表定义描述文本,就像下面例子一样,描述文本加上冒号再加上值:







[Level = Write No Database State:WNPS, Read No Database State:RNDS, ...]







l         复选框







真假值选择的变量你可以用复选框定义。放置一个斜线/在两个值的中间,斜线左边表示未选中时的值,右边表示选中的值。下面的变量表示在复选框未选中时将插入文本for each row,当复选框选中后将插入文本for each statement。







[Statement level? = for each row / for each statement]







如果你的文本中包含特殊的字符(如comma's, brackets, and so on),你可以用括号括起来。下面是一个使用用户自定义变量创建触发器trigger的模板例子。







create or replace trigger [Name]







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







  on [Table or view] 







  [Statement level? = for each row/for each statement]







declare







  -- local variables here







begin;







end [Name];







提示,你可以在一个模板中使用斜线分隔符分隔的方法创建多个程序单元。通过这种方法你可以为一些格式在一个程序文件中创建一个模板。







当使用这个模板时,用户将弹出如下所示的对话框提示输入变量的值:



















固定变量







除了用户自定义变量外你还可以附加使用固定变量。这些用来置换变量的文本不是由用户定义,而是由系统(date, username)或者是模板开发人员(queries, text)定义。







l         系统变量







以下为定义的4个系统变量







$OSUSER  操作系统的用户名







$DBUSER 当前登录数据库的用户







$DATE 当前日期







$TIME 当前时间







下面例子的头两行将插入操作系统的用户及当前日期时间到源文件:







-- Author  : $OSUSER







-- Created : $DATE $TIME







-- Purpose : [Purpose]







procedure [Name] is







begin







  ;







end [Name];







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







如果你不想采用系统变量,但要应用系统变量的原文本,你可以在文本的前面再增加第二个$符号。例如:







-- $$Date$ $Revision$







结果出来的文本将是$Date$ $Revision$。







l         光标位置







光标位置变量将定义当模板文本插入到编辑器后光标的定位。只要将[#]放置到想要的位置即可:







loop







  [#]







end loop;







l         查询变量







你可以使用查询来生成模板的列表值。下面的例子定义了一个查询变量seq_query,接着应用到Sequence变量的可选列表:







[$QUERY seq_query =







        select lower(object_name) from user_objects







        where object_type = 'SEQUENCE'







        order by object_name]








 


 



select [Sequence=$seq_query,...].nextval into [Variable name] from dual;







Sequence是一个可选列表,因为后面加了文本",...",意思是用户可以手工输入其它的值。查询结果集可以简单的看作是用逗号分隔的列表值。







l         包含和去除文本







你可以通过另一个变量来包含和去除模板的文字。在下面的例子里,当用户输入了查询条件(Search condition)的值后将自动加入where字符。







select [Item list]







  into [Variable list]







  from [Table list]







 [+Search condition=where] [Search condition];







结果是,用户不用在查询条件[search condition]中键入'where'文本。要去除一块文本,可以将"+变量名"改为"-变量名"。







l         文本变量







你可以在模板中定义文本变量,并且在模板的其它部分用这些变量。假如你想有选择的包括一大块文本,这是非常有用的。下面的例子中,可以根据用户需要是否包括一个出错处理块。







[$TEXT exception_block=







exception







  when no_data_found then ...







  when too_many_rows then ...







  when others then ...







end;]







select [Item list]







  from [Table list]







  into [Variable list]







 where [Search condition];







[Exception block =/$exception_block]







模板图标







在模板窗口的树形列表中每个模板显示一个图标。模板窗口将查找与模板文件名相同的位图文件。如模板Cursor.tp,如果存在的话,它将使用相同文件夹下的Cursor.bmp位图,如果位图不存在,它将查找当前目录子目录下的Cursor.bmp文件。如果这个位图还是没有,它将查找当前目录和子目录的default.bmp文件。







用于模板图标必须是16色的16*16大小的位图。








 


 




 


 



叶正盛 (译)







2005-03-23








 


 




 


 


Smile Big Smile Surprise Stick out tongue Wink Sad Tongue Tied Indifferent Crying Embarrassed Cool Angry Angel Devil [8-|] [:#] [:-*] [:^)] [<:o)] [|-)] Yes Beer Left Hug Music Star Time Snail Pizza Automobile Umbrella Computer Storm [mo] [8o|] [^o)] [+o(] [*-)] [8-)] Coffee No Drinks [Z] Right Hug Cake Broken Heart Gift Wilted Flower Movie Dog Idea Sleep Email Travel Paradise
呢称:

加粗 斜体 下划线 链接 图片 代码 邮件地址 引用 列表

最多只能输入100个字符

Tags

SQL 数据库 asp.net C# XML 控件 .NET教程 程序 事件 数据 安全 代码 Server 客户端 验证 数据库专栏 接口 文件 Oracle DataSet 函数 DataGrid 问题 .net return C#语言 JavaScript 服务 IIS 对象 语句 windows 继承 时间 web.config 设计 开发 参数 变量 解决 字符 ADO.net 环境 VB.Net语言 web 异常 工具 服务器 计算 实例 OLEDB Application VB Word WebService insert asp net 安装 记录

精华推荐

更多

精品下载

更多