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,是什么原因呢,急,谢谢!
...全文
28 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过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;
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle
加入

1.6w+

社区成员

Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
申请成为版主
帖子事件
创建了帖子
2010-08-27 01:53
社区公告
暂无公告