如何在Oracle中获取Job的名称

时间:2016-05-10 07:49:22

标签: sql oracle plsql

我需要选择一个名为job的作业,我需要查询该函数,但遗憾的是我无法弄明白,有人可以帮助我吗? 谢谢; - )

1 个答案:

答案 0 :(得分:1)

我想你可以用User defined Context来完成你想做的事。

为了能够首先使用用户定义的上下文,您需要创建一个可信过程,该过程将用于在上下文中设置属性。我们需要这样做,因为dbms_session.set_context不能直接使用。

create procedure set_test_ctx
(
    p_attribute_name in varchar2,
    p_attribute_value in varchar2
) is
begin
    dbms_session.set_context(
       'test_ctx',
        p_attribute_name,
        p_attribute_value);
end;
/

在此之后我们将创建我们的上下文

create context test_ctx using set_test_ctx;

如果您需要与其他用户一起使用此上下文,请不要忘记发放授权。

grant execute on set_test_ctx to test_user;

现在您可以使用该过程来使用上下文并使用视图" session_context"或函数SYS_CONTEXT来检索值。

execute set_test_ctx('ATTRIBUTE1', 'value1');

select value from session_context where namespace='TEST_CTX' and ATTRIBUTE='ATTRIBUTE1';

select  sys_context('TEST_CTX','ATTRIBUTE1') as value from dual;