[size=x-large]一种情况如下:[/size]
只给某一用户对现有表中数据进行增删改查的权限,而没有新建删除修改表的权限。
oracle本身病没有提供这样的权限。
比如:user1下面有一个表a,我想通过user2进行对表a的数据进行增删改查,但是不能删除修改表a或者新建别的表。
我是通过一种比较笨的方法实现的。每一个表赋权限。
方法如下:
1.在user1用户下把表的操作权限赋值给user2
grant select, insert, update, delete on a(表名) to user2;
2.这样我们在user2中通过select * from user1.a,可以查询到数据了。
但是我觉得这样太麻烦,我不想输入前面的用户名。可以通过oracle中的同义词来实现
create or replace synonym a
for user1.a;
这样我们早user2就可以通过select * from a 进行操作了。
弊端:如果表特别多,赋值比较困难,当然我们可以通过写程序减少工作量,但是我总觉得这不是一个正统的方法。不知道各位有没有更好的方法来实现上面的操作?
只给某一用户对现有表中数据进行增删改查的权限,而没有新建删除修改表的权限。
oracle本身病没有提供这样的权限。
比如:user1下面有一个表a,我想通过user2进行对表a的数据进行增删改查,但是不能删除修改表a或者新建别的表。
我是通过一种比较笨的方法实现的。每一个表赋权限。
方法如下:
1.在user1用户下把表的操作权限赋值给user2
grant select, insert, update, delete on a(表名) to user2;
2.这样我们在user2中通过select * from user1.a,可以查询到数据了。
但是我觉得这样太麻烦,我不想输入前面的用户名。可以通过oracle中的同义词来实现
create or replace synonym a
for user1.a;
这样我们早user2就可以通过select * from a 进行操作了。
弊端:如果表特别多,赋值比较困难,当然我们可以通过写程序减少工作量,但是我总觉得这不是一个正统的方法。不知道各位有没有更好的方法来实现上面的操作?