PL/SQL DEVELOPER中的专用复制(Special Copy)
2007-11-12 15:13
169 查看
PL/SQL DEVELOPER中的专用复制(Special Copy)
--摘自PL/SQL DEVELOPER6.0的中文PDF帮助手册
如果你正在用 PL/SQL Developer 写 SQL 和 PL/SQL 代码,随后你又要在其它工具里使用代码,例如象 3GL 这样的程序设计语言,那么你可能需要把这些代码转换为稍微不同的格式。让我们假设你已经在 PL/SQL Developer 里写了并测试了这样一个SQL 语句:
select deptno, sum(sal) mgr_sal from emp
where job = 'MANAGER'
group by deptno
order by mgr_sal desc
例如,如果你要在Borland Delphi 里使用这个语句,你可能需要象这样的格式:
SQL := 'select deptno, sum(sal) mgr_sal from emp' + #13#10 +
'where job = ''MANAGER''' + #13#10 +
'group by deptno' + #13#10 +
'order by mgr_sal desc';
为了这个目的,在右击了编辑器里的一个选择后,你可以使用来自于编辑菜单或来自于弹出式菜单的专用复制功能。这个功能有一个子菜单,它显示了所有被定义的专用复制格式。在选择了格式之后,被转换的代码就被储存在剪贴板上了,这样你就可以粘贴它到相应工具的编辑器里了。专用复制格式被定义在 PL/SQL Developer 安装目录下的 SpecialCopy 子目录里。你可以改变预先确定的复制格式或者添加新的复制格式。仅仅简单地添加一个带有 .copy 扩展名的文本文件就可以了,它包含了一个针对 PL/SQL 代码第一行的变量(<line_1>)、一个针对 PL/SQL 代码最后一行的变量(<line_N>)和一个针对所有其它行的变量(<line_*>)。下面是一个针对 Borland Delphi 的例子:
;PL/SQL Developer SpecialCopy definition for Borland Delphi
;<line_1> for first line
;<line_*> for all other lines
;<line_N> for last line
;
SQL := '<line_1>' + #13#10 +
'<line_*>' + #13#10 +
'<line_n>';
第一行需要为指派到 SQL 的变量加上前言,接下来需要有一个 CR/LF 对。最后一行不需要有CR/LF 对,但需要用分号来终止。所有其它行仅仅需要 CR/LF 接在后面。如果 <line_1> 和 <line_n> 都与 <line_*> 一样,你可以忽略它们。在一些语言里,你需要对特定的字符使用换码序列。例如,在 C++ 里,你要对 tab字符(ASCII 码为 9)使用 "t 。要定义这些换码序列,请使用 #define 关键词:
#define char(9) = "t
#define " = ""
String("<line_1>"n") +
String("<line_*>"n") +
String("<line_n>");
你还可以使用 “#define compress” 来指出你要从结果里移除所有多余的空字符(空格、制表符和换行)。
注意,.copy 文件的名字将被包括在菜单里,所以你应该使用描述性的文件名。
--摘自PL/SQL DEVELOPER6.0的中文PDF帮助手册
如果你正在用 PL/SQL Developer 写 SQL 和 PL/SQL 代码,随后你又要在其它工具里使用代码,例如象 3GL 这样的程序设计语言,那么你可能需要把这些代码转换为稍微不同的格式。让我们假设你已经在 PL/SQL Developer 里写了并测试了这样一个SQL 语句:
select deptno, sum(sal) mgr_sal from emp
where job = 'MANAGER'
group by deptno
order by mgr_sal desc
例如,如果你要在Borland Delphi 里使用这个语句,你可能需要象这样的格式:
SQL := 'select deptno, sum(sal) mgr_sal from emp' + #13#10 +
'where job = ''MANAGER''' + #13#10 +
'group by deptno' + #13#10 +
'order by mgr_sal desc';
为了这个目的,在右击了编辑器里的一个选择后,你可以使用来自于编辑菜单或来自于弹出式菜单的专用复制功能。这个功能有一个子菜单,它显示了所有被定义的专用复制格式。在选择了格式之后,被转换的代码就被储存在剪贴板上了,这样你就可以粘贴它到相应工具的编辑器里了。专用复制格式被定义在 PL/SQL Developer 安装目录下的 SpecialCopy 子目录里。你可以改变预先确定的复制格式或者添加新的复制格式。仅仅简单地添加一个带有 .copy 扩展名的文本文件就可以了,它包含了一个针对 PL/SQL 代码第一行的变量(<line_1>)、一个针对 PL/SQL 代码最后一行的变量(<line_N>)和一个针对所有其它行的变量(<line_*>)。下面是一个针对 Borland Delphi 的例子:
;PL/SQL Developer SpecialCopy definition for Borland Delphi
;<line_1> for first line
;<line_*> for all other lines
;<line_N> for last line
;
SQL := '<line_1>' + #13#10 +
'<line_*>' + #13#10 +
'<line_n>';
第一行需要为指派到 SQL 的变量加上前言,接下来需要有一个 CR/LF 对。最后一行不需要有CR/LF 对,但需要用分号来终止。所有其它行仅仅需要 CR/LF 接在后面。如果 <line_1> 和 <line_n> 都与 <line_*> 一样,你可以忽略它们。在一些语言里,你需要对特定的字符使用换码序列。例如,在 C++ 里,你要对 tab字符(ASCII 码为 9)使用 "t 。要定义这些换码序列,请使用 #define 关键词:
#define char(9) = "t
#define " = ""
String("<line_1>"n") +
String("<line_*>"n") +
String("<line_n>");
你还可以使用 “#define compress” 来指出你要从结果里移除所有多余的空字符(空格、制表符和换行)。
注意,.copy 文件的名字将被包括在菜单里,所以你应该使用描述性的文件名。
相关文章推荐
- PL/SQL DEVELOPER中的专用复制(Special Copy)
- PL/SQL DEVELOPER中查询结果复制出来中文乱码的解决方案
- pl/sql developer窗口里面正常显示中文,复制,粘贴到文本文档出现乱码问题
- 用PL/SQL DEVELOPER把表数据复制到另一个表中
- 在PL/SQL Developer复制一条记录,快速提交这条记录,而不用使用insert into.
- pl/sql developer里主键自动增长的设置
- PL/SQL Developer 11.0 64 bit released
- Oracle 11g数据库使用pl/sql developer进行数据导入与导出
- PL/SQL Developer各个窗口的功能
- 不安装oracle客户端也可以使用pl/sql developer
- PL/SQL Developer 9.x 注册码
- 在自己的台式机上把oracle和pl/sql developer安装成功并且可以用了
- PL/SQL Developer 下执行oracle的脚本文件
- PL/SQL Developer,大小写转换
- pl/sql developer 存储过程编译后,重新打开 中文显示乱码
- 避免在pl/sql中复制粘帖的时候出现乱码的方法
- PL/SQL Developer启动时报错:“Control 'dxDockBrowserPanel' has no parent window"
- PL/SQL DEVELOPER 使用小技巧
- PL/SQL Developer 工具连接ORALCE数据库的方法
- PL/SQL Developer 不显示系统表,默认显示My objects