由于我的C ++ OCI包装器只支持绑定Int / Double / String / Clob类型的数据。所以我想知道是否可以让我的存储过程返回一个clob,它保存了来自SELECT语句的结果集。
像:
FUNCTION sp(
in_param VARCHAR2,
) RETURN CLOB
IS
my_clob CLOB;
BEGIN
my_clob := SELECT col1, col2, col3 FROM s WHERE s.param = in_param;
RETURN my_clob;
END sp;
答案 0 :(得分:0)
我有一个包含CLOB和VARCHAR列的表,这有效:
create or replace
FUNCTION F_LOB_TEST(in_char VARCHAR2 ) RETURN CLOB
IS
my_clob CLOB;
BEGIN
SELECT FIELD_CLOB
INTO my_clob
FROM LOB_TEST
WHERE FIELD_CHAR=in_char;
RETURN my_clob;
END;
确保该函数返回PL / SQL中您期望的内容 你可以这样调用上面的函数:
select F_LOB_TEST('A') FROM DUAL;