简单的存储过程问题,请高手指教
CREATE OR REPLACE procedure p_ec61p1(edcontent in varchar2) is
v_start number:=0;
v_key1 varchar2(13);
v_key2 varchar2(9);
v_flag varchar2(1);
v_memo varchar2(80);
begin
v_start:=1;
v_key1:=trim(substrb(edcontent,v_start,13));
v_start:=v_start+13;
v_key2:=trim(substrb(edcontent,v_start,9));
v_start:=v_start+9;
v_flag:=trim(substrb(edcontent,v_start,1));
v_start:=v_start+1;
v_memo:=trim(substrb(edcontent,v_start,80));
insert into dtecmsg(key1,key2,flag,memo) values(v_key1,v_key2,v_flag,v_memo);
commit;
exception
when no_data_found then
dbms_output.put_line('p_ec61p1 no_data_found');
when others then
dbms_output.put_line('p_ec61p1 others');
end p_ec61p1;
/
其中存储过程是在EQMS(一个同义词)帐户下的,dtecmsg表是EN帐户的。
为什么编译的时候提示表或视图不存在呢?EN把所有的权限给EQMS也不行。
还请高手指教
问题点数:20、回复次数:4Top
1 楼bzszp(SongZip)回复于 2004-08-02 14:07:42 得分 0
赋权限:
CONNECT EN/PASS
GRANT INSERT ON DTECMSG TO USERNAME;
加上用户名:
insert into EN.dtecmsg(.....
Top
2 楼1216dy(1216dy)回复于 2004-08-02 14:28:35 得分 0
上面的兄弟,已经赋过权限了,还是不行啊
grant all on dtecmsg to EQMSTop
3 楼bzszp(SongZip)回复于 2004-08-02 14:33:47 得分 20
insert into dtecmsg(key1,key2,flag,memo) values(v_key1,v_key2,v_flag,v_memo);
-->
insert into EN.dtecmsg(key1,key2,flag,memo) values(v_key1,v_key2,v_flag,v_memo);Top
4 楼cl_oracle()回复于 2005-01-26 09:20:41 得分 0
markTop




