问题描述
我是Oracle的新手。
我试着用VPD考试。
但我无法选择与其他用户。
你可以在上面看到我的代码。
很抱歉我的英语。
我试着用VPD考试。
但我无法选择与其他用户。
你可以在上面看到我的代码。
很抱歉我的英语。
专家解答
好的,让我们看看你功能的重要部分
返回的字符串将作为WHERE子句添加到您的查询中。假设v_maPhong以CONNOR的身份回来。
所以一个查询,如:
从NHANVIEN中选择 *
现在会读起来像:
从NHANVIEN中选择 *
其中马普洪 = 康纳
这是错误的,因为没有名为CONNOR的专栏。你也需要注意报价。所以像这样的函数:
会回来
maPhong = 'CONNOR'
然后应该在您的查询中工作。
Begin
user := SYS_CONTEXT('userenv', 'SESSION_USER');
select maPhong into v_maPhong from nhanvien where maNv = user;
return 'maPhong = ' || v_maPhong;
End;
返回的字符串将作为WHERE子句添加到您的查询中。假设v_maPhong以CONNOR的身份回来。
所以一个查询,如:
从NHANVIEN中选择 *
现在会读起来像:
从NHANVIEN中选择 *
其中马普洪 = 康纳
这是错误的,因为没有名为CONNOR的专栏。你也需要注意报价。所以像这样的函数:
Begin
user := SYS_CONTEXT('userenv', 'SESSION_USER');
select maPhong into v_maPhong from nhanvien where maNv = user;
return 'maPhong = ''' || v_maPhong || '''';
End;
会回来
maPhong = 'CONNOR'
然后应该在您的查询中工作。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




