加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 百科 > 正文

oracle – 如何将OS变量加载到PL / SQL中?

发布时间:2021-03-05 11:24:51 所属栏目:百科 来源:网络整理
导读:这应该非常简单,但搜索词很常见,我找不到答案: 问:如何将操作系统变量(RHEL)中的值加载到Oracle 11g数据库的PL / SQL中? 码: begindba_utilities.utilities_with_ext_proc.send_email( p_recipient = '$MAIL_LIST',p_subject = 'Subject' p_body = 'Bo

这应该非常简单,但搜索词很常见,我找不到答案:

问:如何将操作系统变量(RHEL)中的值加载到Oracle 11g数据库的PL / SQL中?

码:

begin
dba_utilities.utilities_with_ext_proc.send_email(
        p_recipient   => '$MAIL_LIST',p_subject     => 'Subject'
        p_body        => 'Body
);
End ;

如果我输入电子邮件地址但是有一个名为$MAIL_LIST的系统变量包含一组人,则该过程正常.我也可以确认这是在其他服务器上工作,但我正在设置替代品.

如果问题过于简单,请提前致谢并对不起!

解决方法

您可以通过Java System class中的 getenv method访问环境变量.要从PL / SQL调用它,您可以创建Java存储过程,如下所示:

CREATE FUNCTION getenv(name VARCHAR2) RETURN VARCHAR2
  AS LANGUAGE JAVA 
  NAME 'java.lang.System.getenv(java.lang.String) return java.lang.String';

现在,您可以编写PL / SQL代码,如下所示:

begin
dba_utilities.utilities_with_ext_proc.send_email(
        p_recipient   => getenv('MAIL_LIST'),p_subject     => 'Subject'
        p_body        => 'Body
);
End ;

存储过程也可以存在于PL / SQL包中(如果您不想创建模式级函数来获取环境变量).

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读