oracle 我们是否可以用途:xdo_user_name用于WebLogic的过滤器逻辑?

xdyibdwo  于 2022-11-03  发布在  Oracle
关注(0)|答案(1)|浏览(107)

我们是否可以将:xdo_user_name用于WebLogic的过滤器逻辑?
我在oracle BI Publisher中创建了一个数据模型,其中包含如下where子句:

WHERE (EMPLOYEE_NO = :xdo_user_name)

如果我使用员工帐户登录,则该功能正常工作。
但我想让它在我以“weblogic”身份登录时显示所有数据,所以我将其更改为:

WHERE (EMPLOYEE_NO = :xdo_user_name
OR (CASE WHEN :xdo_user_name = 'weblogic' THEN 1=1 END))

显示错误:
发生字符dat,右截断:例如,更新或插入值是对于列而言太长得字符串,或者日期时间值因太小而无法赋给主机变量.
不太确定为什么会出现此错误。请提供建议。

mtb9vblg

mtb9vblg1#

像这样试试...

WHERE EMPLOYEE = CASE WHEN :xdo_user_name = 'weblogic' THEN EMPLOYEE ELSE :xdo_user_name END

这样,当以'weblogic'登录时,where condition将为每行返回True-否则,仅为EMPLOYEE =:xdo_user_name的行返回True。
此致。

相关问题