首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件编译PL/SQL

条件编译PL/SQL
EN

Stack Overflow用户
提问于 2015-12-17 23:23:52
回答 1查看 1K关注 0票数 2

有人能解释一下PL/SQL中条件编译的概念吗?我已经研究过了,但不太明白使用它背后的原因以及它实际做了什么。举个例子就好了!

另外,我想了解更多关于条件编译控制令牌的信息。什么是PL/SQL中的标记?

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-12-18 00:16:40

最好的资源是Oracle自己的文档(11g12c)

然而,条件编译的概念是,它可以用于在编译时基于某些静态条件以不同的方式编译代码。

例如,您可能最初在一个版本的Oracle中编写一段代码,例如Oracle 11g。随着开发的发展,也许您会发现在Oracle12c中有一些新特性可以更好地完成相同的任务。您可以使用条件编译来编译11g实例中的原始代码,但仅编译较新的12c优化代码和较新的数据库。例如:

代码语言:javascript
复制
begin
  $IF DBMS_DB_VERSION.VERSION < 12 $THEN
    -- Do your old school stuff here
  $ELSE
    -- Do the new stuff here
  $END
end;

DBMS_DB_VERSION包包含静态常量,比如上面使用的VERSION常量。您可以在条件编译布尔表达式中使用在任何包中定义的任何常量PLS_INTEGERBOOLEAN值。这意味着,只要在包规范中包含常量修订号或常量布尔标志,您甚至可以将条件编译基于您自己的代码的特定版本。例如:

代码语言:javascript
复制
begin
  $IF MY_PACKAGE.REVISION < 2 $THEN
    -- Use the legacy code here
  $ELSIF MY_PACKAGE.REVISION < 4 $THEN
    -- Use the newer code here
  $ELSE
    -- Use the latest code here
  $END
end;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34338162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档