use*_*866 5 oracle plsql oracle11g
这应该非常简单,但搜索词很常见,我找不到答案:
问:如何将操作系统变量(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 ;
Run Code Online (Sandbox Code Playgroud)
如果我输入电子邮件地址但是有一个名为$ MAIL_LIST的系统变量包含一组人,则该过程正常.我也可以确认这是在其他服务器上工作,但我正在设置替代品.
如果问题过于简单,请提前致谢并对不起!
您可以通过Java 类中的getenv方法访问环境变量.要从PL/SQL调用它,您可以创建Java存储过程,如下所示:System
CREATE FUNCTION getenv(name VARCHAR2) RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'java.lang.System.getenv(java.lang.String) return java.lang.String';
Run Code Online (Sandbox Code Playgroud)
现在,您可以编写PL/SQL代码,如下所示:
begin
dba_utilities.utilities_with_ext_proc.send_email(
p_recipient => getenv('MAIL_LIST'),
p_subject => 'Subject'
p_body => 'Body
);
End ;
Run Code Online (Sandbox Code Playgroud)
存储过程也可以存在于PL/SQL包中(如果您不想创建模式级函数来获取环境变量).
| 归档时间: |
|
| 查看次数: |
1037 次 |
| 最近记录: |