我使用oracle 9i的透明网关访问sql server 2005的数据表(arch_tab)。假设该表有列:A,B,C,D。我在oracle 里建立了一个dblink(test),同时建立的一个同义词:syn_tab(arch@test),我在oracle里写了个函数:FUNCTION Get_B(
vol_id_ IN NUMBER ) RETURN VARCHAR2
IS
temp_ varchar2(200);
CURSOR get_attr IS
SELECT "B"
FROM syn_tab
WHERE "A" = vol_id_;
BEGIN
OPEN get_attr;
FETCH get_attr INTO temp_;
CLOSE get_attr;
RETURN temp_;
END Get_Vol_Dh;我在编译的时候,oracle报错:ORA-00980,说我的同义词失效了。
这是什么原因?难道是因为我放在游标里吗?
应该怎么解决?谢谢!
vol_id_ IN NUMBER ) RETURN VARCHAR2
IS
temp_ varchar2(200);
CURSOR get_attr IS
SELECT "B"
FROM syn_tab
WHERE "A" = vol_id_;
BEGIN
OPEN get_attr;
FETCH get_attr INTO temp_;
CLOSE get_attr;
RETURN temp_;
END Get_Vol_Dh;我在编译的时候,oracle报错:ORA-00980,说我的同义词失效了。
这是什么原因?难道是因为我放在游标里吗?
应该怎么解决?谢谢!
SELECT B from syn_tab
不过B要加引号
select "B" from syn_tab