将一系列表TableXXX的权限授予给其他用户,其中表名包含的XXX是递增的数字序列,比如table001,table002,table003.....
执行脚本时,要求输入参数包括开始编号vi1和结束编号vi2
如输入21,50,那么执行后的结果便是将table021至table050的30个表格的select权限授给用户OtherUser
望高人解答,谢谢啦
执行脚本时,要求输入参数包括开始编号vi1和结束编号vi2
如输入21,50,那么执行后的结果便是将table021至table050的30个表格的select权限授给用户OtherUser
望高人解答,谢谢啦
解决方案 »
- 把一个字段更新到另一个字段上
- 求所有物品的总价
- 机械工业出版社出版
- 请教高人,oracle的行数据替换操作。。。。(没有悬赏分了,请大家帮帮忙,谢谢)
- 求助,关于forall的使用,编译出错!
- TO_CHAR 后为什么有空格
- oracle10g作为客户端,能否访问oracle7的服务端?
- 奇怪错误!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- oracle 中的存储过程中如何建立临时表!
- 请问我在一个NT机器上安装有两个数据库,实例代表访问数据库的一个进程那么系统中有几个实例呢,两个实例的internal口令是否相同?
- merge into时索引失效问题
- 难道此题无解么?关于用户权限控制的问题
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as scott
SQL>
SQL> create or replace procedure grantToUser(startBy in number,endBy in number)
2 is
3 v_sql varchar2(2000);
4 begin
5 for i in startBy .. endBy loop
6 v_sql := 'grant select on table'||lpad(i,'0')||' to system';
7 execute immediate v_sql;
8 end loop;
9 end grantToUser;
10 /Procedure createdSQL> 我这里没有你的表所以报错了Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\lkf12998>E:E:\>more todo.bat
sqlplus scott/tiger @test.sqlE:\>more test.sql
begin
grantToUser(&startBy,&endBy);
end;
/E:\>todo.batE:\>sqlplus scott/tiger @test.sqlSQL*Plus: Release 10.2.0.1.0 - Production on 星期四 11月 4 16:57:49 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options输入 startby 的值: 1
输入 endby 的值: 2
原值 2: grantToUser(&startBy,&endBy);
新值 2: grantToUser(1,2);
begin
*
第 1 行出现错误:
ORA-00903: 表名无效
ORA-06512: 在 "SCOTT.GRANTTOUSER", line 7
ORA-06512: 在 line 2