create or replace procedure cs is
n number(1);
bh varchar2(30);
zt varchar2(500);
begin
For c in (Select * from jbxx Where CLASS='12' and BH is not null) Loop
bh:='A'||substr(BH,2,12)||substr(BH,14,10);
select decode(getjzdic(c.ajzt,'ajzt','0'),null,'88',getjzdic(c.ajzt,'ajzt','0')) into zt from dual;
select count(ajcode) into n from SLDJ@orcl.dblink Where AJCODE=bh;
begin
if n<=0 then
insert into SLDJ@orcl.dblink(AJCODE,SLAJJD) values(bh,decode(getjzdic(c.ajzt,'ajzt','0'),null,'88',getjzdic(c.ajzt,'ajzt','0'))); --用此语句就会报ORA-02069: 此操作的 global_names 参数必须设置为 TRUE
--insert into SLDJ@orcl.dblink(AJCODE,SLAJJD) values(bh,zt); --用变量形式此语句则不会报错
end if;
commit;
end loop;
end cs;
ORA-02069: 此操作的 global_names 参数必须设置为 TRUE
SQL> show parameter global_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_names boolean FALSE
n number(1);
bh varchar2(30);
zt varchar2(500);
begin
For c in (Select * from jbxx Where CLASS='12' and BH is not null) Loop
bh:='A'||substr(BH,2,12)||substr(BH,14,10);
select decode(getjzdic(c.ajzt,'ajzt','0'),null,'88',getjzdic(c.ajzt,'ajzt','0')) into zt from dual;
select count(ajcode) into n from SLDJ@orcl.dblink Where AJCODE=bh;
begin
if n<=0 then
insert into SLDJ@orcl.dblink(AJCODE,SLAJJD) values(bh,decode(getjzdic(c.ajzt,'ajzt','0'),null,'88',getjzdic(c.ajzt,'ajzt','0'))); --用此语句就会报ORA-02069: 此操作的 global_names 参数必须设置为 TRUE
--insert into SLDJ@orcl.dblink(AJCODE,SLAJJD) values(bh,zt); --用变量形式此语句则不会报错
end if;
commit;
end loop;
end cs;
ORA-02069: 此操作的 global_names 参数必须设置为 TRUE
SQL> show parameter global_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_names boolean FALSE
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22396916/viewspace-719790/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22396916/viewspace-719790/