谢谢,可我是在manager console的a方案下的存储过程里编辑和编译的,登陆用户有这两个方案的权限 CREATE OR REPLACE PROCEDURE "a"."DD" as v_Dcr_Times NUMBER(9); begin select count(*)+1 into v_Dcr_Times from a.a_table1; select count(*)+1 into v_Dcr_Times from b.b_table1;//错误,找不到表 end DD; oracle和sql*plus都不怎么熟,想问一下,该怎么改?
sql*plus里面 connect b/pswb --登陆到b grant select on b_table1 to a;
grant select on b_table1 to a; b,a是你的两个库的名字
CREATE OR REPLACE PROCEDURE "OFFLINE_EMS3"."DD" as v_Dcr_Times NUMBER(9); begin select max(dcr_type)+1 into v_Dcr_Times from OFFLINE_EMS3.pre_ems3_dcr_head; select count(*)+1 into v_Dcr_Times From OFFLINE_DEC.dec_i_head; --表或视图不存在 end DD; 如上:我在OFFLINE_EMS3的方案里建这个过程DD,过程DD里要调用到OFFLINE_DEC方案里的表dec_i_head,可编译时它提示“表或视图不存在”通不过
可是在OFFLINE_DEC方案里表dec_i_head是存在的,我用sql*plus可以执行select count(*)+1 From OFFLINE_DEC.dec_i_head;
CREATE OR REPLACE PROCEDURE "a"."DD" as
v_Dcr_Times NUMBER(9);
begin
select count(*)+1 into v_Dcr_Times from a.a_table1;
select count(*)+1 into v_Dcr_Times from b.b_table1;//错误,找不到表
end DD;
oracle和sql*plus都不怎么熟,想问一下,该怎么改?
connect b/pswb --登陆到b
grant select on b_table1 to a;
b,a是你的两个库的名字
v_Dcr_Times NUMBER(9);
begin
select max(dcr_type)+1 into v_Dcr_Times from OFFLINE_EMS3.pre_ems3_dcr_head;
select count(*)+1 into v_Dcr_Times From OFFLINE_DEC.dec_i_head; --表或视图不存在
end DD;
如上:我在OFFLINE_EMS3的方案里建这个过程DD,过程DD里要调用到OFFLINE_DEC方案里的表dec_i_head,可编译时它提示“表或视图不存在”通不过