gpt4 book ai didi

oracle - 在Oracle嵌套表中查找特定的varchar

转载 作者:行者123 更新时间:2023-12-04 05:09:06 25 4
gpt4 key购买 nike

我是PL-SQL的新手,并且一直在努力寻找嵌套表的清晰操作文档。请更正任何误用的术语等。

我有一个嵌套表类型,用作存储过程的参数。

CREATE OR REPLACE TYPE "STRARRAY" AS TABLE OF VARCHAR2 (255)

在我的存储过程中,表被初始化并填充。假设我有一个VARCHAR2变量,并且想知道嵌套表中是否存在该varchar,则为true或false。

我试过了
strarray.exists('somevarchar')

但我得到了ORA-6502

除了迭代之外,还有其他更简单的方法吗?
FOR i IN strarray.FIRST..strarray.LAST
LOOP
IF strarray(i) = value THEN
return 1;--found
END IF;
END LOOP;

最佳答案

对于单值检查,我更喜欢“成员”运算符

zep@dev> declare
2 enames strarray;
3 wordToFind varchar2(255) := 'King';
4 begin
5 select emp.last_name bulk collect
6 into enames
7 from employees emp;
8 if wordToFind member of enames then
9 dbms_output.put_line('Found King');
10 end if;
11 end;
12 /

Found King

PL/SQL procedure successfully completed

zep@dev>

关于oracle - 在Oracle嵌套表中查找特定的varchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6348559/

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