Oracle 如何将 table 上的某些数据限制给不同的用户?
How can Oracle restrict certain data on a table to different users?
搜索了网站,似乎没有人问过这个问题。
我们有两个帐户在同一个 schema/database 上访问同一个 table。 User_1 帐户能够撤回所有记录,而 User_2 帐户只能撤回某些数据。
我知道 Oracle 可以限制 table 不同用户的访问权限,但我不知道它可以在数据级别执行类似的操作。
我的问题是 Oracle 可以这样做吗?如何做?
谢谢
您可以使用视图。
CREATE OR REPLACE VIEW V_TABLE_FOR_USER_2 AS
SELECT *
FROM THE_TABLE
WHERE {data} = {certain data};
GRANT SELECT, INSERT, DELETE, UPDATE ON THE_TABLE TO USER_1;
GRANT SELECT, INSERT, DELETE, UPDATE ON V_TABLE_FOR_USER_2 TO USER_2;
搜索了网站,似乎没有人问过这个问题。
我们有两个帐户在同一个 schema/database 上访问同一个 table。 User_1 帐户能够撤回所有记录,而 User_2 帐户只能撤回某些数据。
我知道 Oracle 可以限制 table 不同用户的访问权限,但我不知道它可以在数据级别执行类似的操作。
我的问题是 Oracle 可以这样做吗?如何做?
谢谢
您可以使用视图。
CREATE OR REPLACE VIEW V_TABLE_FOR_USER_2 AS
SELECT *
FROM THE_TABLE
WHERE {data} = {certain data};
GRANT SELECT, INSERT, DELETE, UPDATE ON THE_TABLE TO USER_1;
GRANT SELECT, INSERT, DELETE, UPDATE ON V_TABLE_FOR_USER_2 TO USER_2;