gpt4 book ai didi

oracle - 将 PLSQL 过程/函数标记为已弃用

转载 作者:行者123 更新时间:2023-12-02 07:13:08 26 4
gpt4 key购买 nike

一些编程工具(例如 C# 或 Java)可以将过程/函数标记为已弃用。但 Oracle PLSQL 没有内置此功能。我想知道还有另一种方法来支持此功能。

我希望它们显示为“PL/SQL 编译器警告正在编译的任何 PL/SQL 代码。”。

96/43    PLW-06005: inlining of call of procedure 'TEST' was done

最佳答案

在 Oracle 版本 12.2 中,为此提供了一个新的 pragma:

pragma deprecate ( deprecated_thing, 'Message to other developers' );

... 其中 deprecated_thing 是任何 PL/SQL 标识符。以下内容可以被弃用:

  • 子程序
  • 套餐
  • 变量
  • 常量
  • 类型
  • 子类型
  • 异常(exception)
  • 光标

例如:

CREATE OR REPLACE PACKAGE old_package AS
PRAGMA DEPRECATE(old_package , ’Package old_package has been deprecated in favor of new_package’);
PROCEDURE p1;
PROCEDURE p2;
END old_package;

任何尝试编译使用您已弃用的内容的人都会收到 PLW-6019 到 PLW-6022 范围内的 PL/SQL 警告。

您可以按如下方式启用这些警告,以便在尝试编译代码时看到它们:

alter session set plsql_warnings = 'enable:(6019,6020,6021,6022)';

或者,您可以将 session 设置为将这些警告视为错误:

alter session set plsql_warnings = 'error:6020';

或者,您可以设置对象本身以使任何使用它的人都会收到错误:

alter package <package with deprecated stuff> compile plsql_warnings = 'error:6020' reuse settings;

关于oracle - 将 PLSQL 过程/函数标记为已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32760629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com