[Oracle] ora-22992:无法使用从远程表选择的 LOB 定位符
LOB 字段是不支持DB LINK 方式的,可以用折中的办法创建一个临时表方式,或者物化视图等方式我的问题场景是在存储过程中查询远程表,FETCH INTO 本地变量,这个变量定义为CLOB 类型。SELECT t.c_field1, t.c_field2, t.c_field3FROM tableA@Link tWHERE 1=1解决办法:改写SQL,使用视图实体化将数据先拉到本地。with v
·
LOB 字段是不支持DBLINK 方式的,可以用折中的办法创建一个临时表方式,或者物化视图等方式
我的问题场景是在存储过程中查询远程表,FETCH INTO 本地变量,这个变量定义为CLOB 类型。
SELECT t.c_field1, t.c_field2, t.c_field3
FROM tableA@Link t
WHERE 1=1
解决办法:改写SQL,使用视图实体化将数据先拉到本地。
with v_tmp as
(SELECT /*+ materialize */ t.c_field1, t.c_field2, t.c_field3
FROM tableA@Link t
WHERE 1=1)
select c_field1, c_field2, c_field3 from v_tmp
另外也可以使用临时表将远程数据拉到本地来,效果差不多,不过我上面这种解决方式感觉更简洁一点。
更多推荐
已为社区贡献1条内容
所有评论(0)