CREATE OR REPLACE FUNCTION result_num_type_test(strValue IN VARCHAR2)
RETURN RESULT_TBL IS
str1 varchar2(200);
str2 varchar2(200);
i number := 0;
j number := 0;
tb_o RESULT_TBL;
BEGIN
i := length(strValue);
IF i = 5 THEN
SELECT a.new_code_no, a.new_name_all
INTO str1, str2
FROM TEMP_NEW_CODE A
WHERE A.NEW_CODE_NO = strValue;
ELSIF i = 4 THEN
SELECT t.new_code_no, t.new_name_all
INTO str1, str2
FROM (SELECT a.new_code_no, a.new_name_all, ROWNUM rn
FROM TEMP_NEW_CODE A
WHERE A.New_Code_No like '%' || strValue || '%'
ORDER BY A.NEW_CODE_NO) t
WHERE t.rn = 2;
ELSE
SELECT a.new_code_no, a.new_name_all
into str1, str2
FROM TEMP_NEW_CODE A
WHERE A.NEW_CODE_NO = strValue;
END IF;
tb_o.EXTEND;
tb_o(tb_o.COUNT) := split_arr(cod >= str1, nam >= str2);
RETURN tb_o;
END result_num_type_test;
本文介绍了一个PL/SQL函数result_num_type_test的具体实现。该函数接收一个VARCHAR2类型的输入参数,并根据输入字符串长度的不同执行相应的数据库操作。通过示例展示了如何使用条件语句和SQL查询来处理不同长度的输入数据。
3462

被折叠的 条评论
为什么被折叠?



