gpt4 book ai didi

oracle - 如何在oracle中创建函数,我们可以在任何地方使用这个函数的结果

转载 作者:行者123 更新时间:2023-12-02 02:11:01 25 4
gpt4 key购买 nike

CREATE TABLE TEMP 
(
ID VARCHAR2(20 CHAR)
, TXT CLOB
)


create or replace FUNCTION get_field_keys (field CLOB)
RETURN type_array_of_varchar2
IS
return_value type_array_of_varchar2;
BEGIN
//do some split operations(already done)
//return_value[] = 'a';
//return_value[] = 'b';
//return_value[] = 'c';
//..
return return_value;
END;

这个函数必须有返回值,我们可以做到

select * from TEMP where 'a' = ANY(get_field_keys(TXT))

函数 get_field_keys 的返回值必须是 varchar2 的集合,我试过 varray,但“ANY”无法通过这种方式工作。一定是录音什么的。

最佳答案

由于您的函数似乎返回一个 TABLEVARRAY 类型,您可以在取消嵌套表达式中使用它:

SELECT * FROM temp WHERE 'a' IN (SELECT * FROM TABLE(get_field_keys(TXT))

我不确定这是否也适用于 ANY 量词,但无论您使用 ANY 还是 ,这对您的目标都没有关系在

关于oracle - 如何在oracle中创建函数,我们可以在任何地方使用这个函数的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12890535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com