科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件PL/XML—PL/SQL基于XML的脚本

PL/XML—PL/SQL基于XML的脚本

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

我开始处理一个项目任务,并确定有可以使用一些非常优秀的特性帮助我向人们传授PL/SQL和XML知识。

作者:builder.com.cn 2007年6月5日

关键字: XML PL/SQL PL/XML

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共19页)

我开始处理一个项目任务,并确定有可以使用一些非常优秀的特性帮助我向人们传授PL/SQL和XML知识。

我对这个观念稍微进行了一下扩张,最终得到一个可以XML中执行的脚本语言,它可以提交给一个PL/SQL过程。这个脚本能够执行存储过程;它拥有循环逻辑、条件(CASE)逻辑、用户定义的变量等。

它的优点在于,它阅读和修改起来都十分方便。XML结构也十分易于阅读。它是一个优秀的学习工具,但也具有一些现实的用途。你只需修改XML就可以动态更改应用程序的功能。

你甚至可以编写一个程序,它能够为你生成XML,然后应用于其它系统中。相当的棒!

以下是一段样本脚本:

<ROOT>
<CMD type="variable">
<VAR name="$var1$" type="literal" datatype="char">MyValue</VAR>
</CMD>
<CMD type="variable">
<VAR name="$var2$" type="function" datatype="date" format="dd/mm/yyyy hh24:mi:ss">
<FUNCTION name="sysdate" />
</VAR>
</CMD>
<CMD type="for">
<FOR from="1" to="5">
<CMD type="proc">
<PROC name="dbms_output.put_line">
<PARAMETER name="a">$var1$ is $var2$</PARAMETER>
</PROC>
</CMD>
</FOR>
</CMD>
</ROOT>

将这段脚本在我的脚本解释器中运行,会得到以下输出结果:

MyValue is 25/08/2006 15:06:59
MyValue is 25/08/2006 15:06:59
MyValue is 25/08/2006 15:06:59
MyValue is 25/08/2006 15:06:59
MyValue is 25/08/2006 15:06:59

这段脚本连续运行。因此首先它宣称一个变量$var1$并指定其值为“MyValue”。

下一个命令也是一个变量$var2$,但它的值指定给一段文字,它从函数to_char(sysdate)获得它的值。

接下来的命令是一个for循环。它将循环1到5次,每个循环执行一次过程。在本例中,它打印出$var1$和$var2$的值,并将它们用“is”隔开。

过程和函数可以随意使用参数。函数和过程的所有参数都必须加以命名。你必须了解并给出参数名。

变量能够以任何形式命名,但必须包含在$中。在我的例子中,我选择用$var1$和$var2$作标准。我还可以把它们命名为$boogabooga1$和$kerplump2$。

由于它涉及这么多的概念,我认为这是一个优秀的学习工具。现在这段代码存在三个问题。首先,除注释以外没有文档;根本没有异常处理,也没有说明或调试代码。

我还没有决定如何处理异常。应该由注释器处理异常,还是让它们不断繁殖呢?我需要编写一个不太显眼的调试过程,它能够随意地输出过程的每个步骤。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章