下面是我自己写的,执行不了啊!哪里错了,大神帮忙看看
CREATE OR REPLACE TYPE STR_ARRAY IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
CREATE OR REPLACE FUNCTION IN_ARRAY(src VARCHAR2, arr STR_ARRAY )
RETURN NUMBER AS
BEGIN
FOR arrStr IN arr LOOP
IF src = arrStr THEN
RETURN 1;
END IF
END LOOP;
RETURN 0;
END;
SELECT IN_ARRAY('02350', ('02350','02380','02349','02281')) FROM dual
你确定能这样用? 我一直都没有这么试过,能成功的话告诉我一下,内存表直接传一个常量值可以吗,我都是在函数外部构建好的,再传入内存表的名称,PL/SQL在字符串处理方面不是那么强,你以为是Java,什么都不要自己写,for in 这个循环在PL/SQL里面貌似没有
DECLARE