• PL/SQL DEVELOPER中的专用复制(Special Copy)


    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 文件的名字将被包括在菜单里,所以你应该使用描述性的文件名。

  • 相关阅读:
    python 枚举enum
    python lambda 三元表达式
    python修改类属性
    python获取引用对象的个数
    python 返回实例对象个数
    python __del__() 清空对象
    python面向对象:继承
    python面向对象:多态
    Docker容器和K8s添加Health Check
    mkfs.xfs: /dev/vdb appears to contain a partition table (dos)
  • 原文地址:https://www.cnblogs.com/maozhh/p/956836.html
Copyright © 2020-2023  润新知