我自己找到了合适的解决方案。我创建了一个名为“Tbl_000_UserAccess”的表
在此表中有 3 列(ID、USER ID、Site ID)。
我将用户和他们可以查看的站点 ID 添加到此表中。
然后我在员工表上创建一个视图,将记录限制为当前用户的用户 ID。这是我为任何感兴趣的人编写的视图编码:
创建或替换 FORCE VIEW “Vw_010_Staff”(“ID”、“Emp No.”、“First Name”、“Last Name”、“Team Leader”、“Coach”、“JE”、“CD”、“ IRE"、"FAM"、"GB"、"GST"、"Emp"、"SLS"、"Bus RADC"、"KS Ind"、"KS N Ind"、"Anon"、"OB"、"Resigned" , "原因", "网站") AS
选择“Tbl_010_Staff”。“ID”作为“ID”,
"Tbl_010_Staff"."Employee Number" 为 "Emp No.",
“Tbl_010_Staff”。“名字”为“名字”,
“Tbl_010_Staff”。“姓”为“姓”,
"Tbl_011_TeamLeaders"."名字" || ' ' || “Tbl_011_TeamLeaders”。“姓”为“团队负责人”,
"Tbl_012_Coaches"."名字" || ' ' || “Tbl_012_Coaches”。“姓”为“教练”,
"Tbl_014_JE"."JE" 为 "JE",
“Tbl_010_Staff”。“客户详细信息”为“CDstuff”,
“Tbl_010_Staff”。“IR Essentials”为“IRE”,
“Tbl_010_Staff”。“家庭税收抵免”为“FAM”,
“Tbl_010_Staff”。“一般业务”为“GB”,
"Tbl_010_Staff"."GST" 为 "GST",
"Tbl_010_Staff"."Employers" 为 "Emp",
“Tbl_010_Staff”。“学生贷款”为“SLS”,
"Tbl_010_Staff"."Business Receivables" 为 "Bus RADC",
“Tbl_010_Staff”。“Kiwi Saver Ind”为“KS Ind”,
“Tbl_010_Staff”。“Kiwi Saver NonInd”为“KS N Ind”,
“Tbl_010_Staff”。“匿名”为“Anon”,
“Tbl_010_Staff”。“出站”为“OB”,
“Tbl_010_Staff”。“非活动”为“已辞职”,
“Tbl_010_Staff”。“非活动原因”为“原因”,
“Tbl_010_Staff”。“站点”为“站点”
from (((("Tbl_010_Staff" left outer join "Tbl_011_TeamLeaders" on "Tbl_010_Staff"."Team Leader" = "Tbl_011_TeamLeaders"."ID")
left outer join "Tbl_012_Coaches" on "Tbl_010_Staff"."Coach" = "Tbl_012_Coaches"."ID")
left outer join "Tbl_014_JE" on "Tbl_010_Staff"."JE" = "Tbl_014_JE"."ID")
left outer join "Tbl_000_UserAccess" on "Tbl_010_Staff"."Site" = "Tbl_000_UserAccess"."SiteID")
**where "Tbl_000_UserAccess"."SiteID" =
(Select "Tbl_000_UserAccess"."SiteID"
from "Tbl_000_UserAccess"
where "Tbl_000_UserAccess"."UserID" = NVL(v('APP_USER'),USER))**
这非常有效。唯一令人烦恼的是,当将用户添加到架构中时,我还需要在 useraccess 表中添加一条记录。
请注意,UserID 区分大小写
希望对你有帮助