问题描述
嗨,汤姆,
在我们的数据库中,查询 “从sys.dual中选择用户” 被大量发布 (>200百万/天)。
这个查询的来源似乎是标准包中的函数 “用户”。
事实上,这个函数在我们的代码中经常发布 (可能太频繁了)。
问题1:
现在我想知道它在select语句中选择了什么。
“用户” 来自哪里查询 “从sys.dual选择用户”?
是某种系统变量吗?搞不明白。
问题2: 我们可以安全地用 “sys_context('userenv','session_user ')” 替换代码中函数 “user” 的出现吗?
谢谢你的回答,
丹尼
在我们的数据库中,查询 “从sys.dual中选择用户” 被大量发布 (>200百万/天)。
这个查询的来源似乎是标准包中的函数 “用户”。
事实上,这个函数在我们的代码中经常发布 (可能太频繁了)。
问题1:
现在我想知道它在select语句中选择了什么。
“用户” 来自哪里查询 “从sys.dual选择用户”?
是某种系统变量吗?搞不明白。
问题2: 我们可以安全地用 “sys_context('userenv','session_user ')” 替换代码中函数 “user” 的出现吗?
谢谢你的回答,
丹尼
专家解答
没错。“用户” 是一个 * SQL * 函数,因此在PL/SQL中引用时,我们将静默发出 “从dual中选择用户”。
是的,使用对SYS_CONTEXT的调用应该为您解决此问题。
是的,使用对SYS_CONTEXT的调用应该为您解决此问题。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




