У меня есть код, который выполняет поиск по двум цепочкам и дает самую большую цепочку, которую мы можем получить от обеих из них, распечатайте ее и узнайте, какие у нее символы гривы.
пример: если я поставлю 'paris'и' сарикс ', мы получим ari = 3
Теперь мне нужно знать, как сделать это в то время как или другие циклы, но я действительно не знаю, как это сделать, так что если вы могли быпомогите мне, я бы оценил это.
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;
стараюсь изо всех сил.