CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

Procedure中userA访问userB的问题

楼主dzogchen(雪茹)2005-02-01 14:57:00 在 Oracle / 开发 提问

create   or   replace   procedure   MT  
  is  
  v_Id   varchar2(15);  
  cursor   get_id   is   select   distinct(user_ID)   from   B.t_user_info;  
  begin  
  open   get_id;  
  loop  
  fetch   get_id   into   v_mobileid;  
  exit   when   get_id%notfound;  
  insert   into   A.mtuser1   (mid,begintime,processflag,priority)   values(v_id,sysdate,0,1);  
  commit;  
  end   loop;  
  close   get_id;  
  end;  
  故障是编译了报错:必须说明标识符“B.t_user_info”  
   
  奇怪的在于,单独执行select   distinct(user_ID)   from   B.t_user_info是可以得到结果的,为什么写成procedure就不可以编译?  
   
  A、B都是DBA身份,请问原因出在哪里? 问题点数:80、回复次数:5Top

1 楼ORARichard(没钱的日子......)回复于 2005-02-01 15:01:20 得分 0

create   or   replace   procedure   MT   AUTHID   CURRENT_USER   is  
  ...  
  Top

2 楼jsnicle(js_nicle)回复于 2005-02-01 15:06:29 得分 0

执行存贮过程的用户名是哪一个?  
  Top

3 楼jiangchuanli(大山)回复于 2005-02-01 15:08:08 得分 60

在存储过程中DBA的权限是不起作用的,  
  要单独赋权限的,  
  在B用户中:grant   select   on   t_user_info   to   A;  
  还有commit最好放到循环外,当然视你的需求而定的。Top

4 楼jiangchuanli(大山)回复于 2005-02-01 15:21:14 得分 20

如表很多,需要赋这种权限的话,有一种简便的方法:  
  在sqlplus下执行:  
  -----------------------------  
  set   heading   off  
  set   feedback   off  
  spool   c:\grant.sql  
  select   'grant   select,delete,update,insert   on   '   ||   table_name   ||   ';'   from   cat  
  where   table_type   =   'TABLE';  
  spool   off  
  ----------------------------  
   
  然后打开   c:\grant.sql   ,再运行此脚本(在sqlplus中输入:@c:\grant.sql即可   )  
  Top

5 楼jiangchuanli(大山)回复于 2005-02-01 16:52:06 得分 0

不好意思,补充一下  
   
  select   'grant   select,delete,update,insert   on   '   ||   table_name   ||   '   to   A;'   from   cat  
  where   table_type   =   'TABLE';  
  Top

相关问题

  • vc++ 使用oracle ole db访问oracle stored procedure
  • ADO访问Excel。
  • 可能是Ajax问题 访问页面时报错 Invalid procedure call or argument
  • 访问DBF
  • win2000 访问 linux
  • ODBC访问。
  • 98访问2000pro???
  • 网络访问
  • 访问文件
  • 能否访问?

关键词

  • grant
  • 权限
  • procedure
  • insert
  • info
  • table
  • get
  • user
  • select

得分解答快速导航

  • 帖主:dzogchen
  • jiangchuanli
  • jiangchuanli

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo