user1创建函数访问另一数据库不能编译

濛濛 2010-08-27 01:53:48
先创建用户
drop user jk_user cascade;
create user jk_user identified by kingncyl123;
grant resource,dba,connect to database1;
取database1数据库数据
创建函数:
CREATE OR REPLACE FUNCTION "JK_USER"."GET_KSMC" (ksbh in
varchar2)
return varchar2 IS
r_s1 varchar2(20);
r_s11 varchar2(20);
begin
select xm INTO r_s1 from database1.wh_ryb where czyid='002';
if r_s1<>'张卫岩' then
begin
return '非法使用';
end;
end if;
select ksmc INTO r_s1 from database1.wh_ksb where ksid=ksbh;
return (r_s1);
end get_ksmc;
编译状态为invalid,sqlplus提示警告: 创建的函数带有编译错误。
不过把select掩掉就能创建成功,状态为valid,是什么原因呢,急,谢谢!
...全文
47 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
duanzhi1984 2010-08-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liangao 的回复:]
SQL code

GRANT SELECT ON WH_RYB TO JK_USER;
GRANT SELECT ON WH_KSB TO JK_USER;
[/Quote]
试试看,若不行发贴出来
Liangao 2010-08-31
  • 打赏
  • 举报
回复

GRANT SELECT ON WH_RYB TO JK_USER;
GRANT SELECT ON WH_KSB TO JK_USER;
Liangao 2010-08-31
  • 打赏
  • 举报
回复
在database1用户下执行后,再试试

GRANT SELECT ON WH_RYB TO JK_USER;
GRANT INSERT ON WH_KSB TO JK_USER;

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧