我有一个代码,可以搜索2条链,并给出我们可以从两条链中得到的最大链,进行打印并获得其鬃毛字符的大小。
示例:如果我输入“ paris”和“ sarix”,我们将得到ari = 3
现在,我需要知道如何在while循环或其他循环中执行此操作,但是我真的不知道如何执行此操作,因此,如果您能帮助我,我会很感激。
CREATE OR REPLACE PACKAGE calc_cadena AS
FUNCTION FNC_CALCULASUB (cadena1 VARCHAR2, cadena2 VARCHAR2)
RETURN varchar2;
END;
CREATE OR REPLACE PACKAGE BODY calc_cadena AS
var_ejemplo number;
FUNCTION FNC_CALCULASUB (cadena1 VARCHAR2, cadena2 VARCHAR2)
RETURN varchar2
IS
caden varchar2(1000);
conta number(5);
BEGIN
conta:=0;
caden:='';
for I in 1..length(cadena2) loop
for J in I..length(cadena2) loop
if UPPER(instr(cadena1,substr(cadena2,I,J-I+1)))>0 then
if length(substr(cadena2,I,J-I+1))>conta then
conta:=length(substr(cadena2,I,J-I+1));
caden:=substr(cadena2,I,J-I+1);
end if;
end if;
end loop;
end loop;
return caden||'='||to_char(length(caden));
end;
end;
SELECT calc_cadena.FNC_CALCULASUB('paris','sarix')
FROM DUAL;
尽我所能。