Я новичок в Oracle SQL Developer и не уверен, что это за язык.
У меня есть некоторые проблемы при компиляции. Я действительно почесал голову от этого, и я застрял.
Сообщение, которое я получаю:
"Ошибка (14,9): PLS-00103: Påträffade symbolen" ("då en av följande")
förväntades:; Symbolen ";" эрсаттес мед "(" för att kunna fortsätta.
и
Ошибка (14,54): PLS-00103: Påträffade symbolen ")" då en av följande
Примечание: * & - + / den mod rest rem och или
как || мультимножеством "
что означает:
"Ошибка (14,9): PLS-00103: обнаружен символ" ("при ожидании одного из следующего:; Символ"; "был заменен на" ("для продолжения.
и
Ошибка (14,54): PLS-00103: обнаружен символ ")" при ожидании одного из следующих * & - + / den mod rest rem и или как || мультимножеством "
Код был скопирован из файла .txt, и кое-что поразило, что в нем может быть какой-то недопустимый белый символ, но я не могу его найти.
create or replace FUNCTION FISKEBY_PS_CALC_PEDKAT(std_ in varchar2, mediafas_ in varchar2, fluidgrupp_ in varchar2, konstruktionstemp_ in varchar2, tryck_ in varchar2, DN_ in varchar2) return varchar2 is
BEGIN
if (mediafas_='STABIL GAS' and fluidgrupp_='1') then
BEGIN
if(tryck_<0.5) then RETURN 'Ingen klass';
elsif (DN_<25 and tryck_>=0.5) then RETURN 'Klass 0';
elsif (DN_<100 and DN_>=25 and tryck_*DN_<1000) then RETURN 'Klass I';
elsif((DN_<350 and DN_>=100 and tryck_<10) or (DN_<350 and DN_>=25 and tryck_*DN_<3500 and tryck_*DN_>=1000)or(DN_<100 and DN_>=25 and tryck_*DN_>1000)) then RETURN 'Klass II';
elsif(DN_>=350 or (tryck_*DN_>=3500 and DN_>=100)) then RETURN 'Klass III';
else RETURN '';
end if;
END
elsif (mediafas_='INSTABIL GAS' and fluidgrupp_='1') then
BEGIN
if(tryck_<0.5) then RETURN 'Ingen klass';
elsif(DN_<25 and tryck_>=0.5) then RETURN 'Klass 0';
elsif(DN_>=25 and tryck_>=0.5) then RETURN 'Klass III';
else RETURN '';
end if;
END
elsif(mediafas_='STABIL GAS' and fluidgrupp_='2') then
BEGIN
if(tryck_<0.5) then RETURN 'Ingen klass';
elsif(DN_<32 or DN_*tryck_<1000) then RETURN 'Klass 0';
elsif(DN_<100 or DN_*tryck_<3500) then RETURN 'Klass I';
elsif((DN_<250 or DN_*tryck_<5000) and konstruktionstemp_<350) then RETURN 'Klass II';
elsif((DN_>=250 or DN_*tryck_>=5000) or (DN_<250 or DN_*tryck_<5000) and konstruktionstemp_>=350) then RETURN 'Klass III';
else RETURN '';
end if;
END
elsif(mediafas_='VÄTSKA' and fluidgrupp_='1') then
BEGIN
if(tryck_<0.5) then RETURN 'Ingen klass';
elsif(DN_<25 or DN_*tryck_<2000) then RETURN 'Klass 0';
elsif(DN_>=25 and DN_*tryck_>=2000 and tryck_>=0.5 and tryck_<10) then RETURN 'Klass I';
elsif(DN_>=25 and DN_*tryck_>=2000 and tryck_>=10 and tryck_<500) then RETURN 'Klass II';
elsif(DN_>=25 and DN_*tryck_>=2000 and tryck_>=500) then RETURN 'Klass III';
else RETURN '';
end if;
END
elsif(mediafas_='VÄTSKA' and fluidgrupp_='2') then
BEGIN
if(tryck_<0.5) then RETURN 'Ingen klass';
elsif(DN_<200 or DN_*tryck_<5000 or tryck_<10) then RETURN 'Klass 0';
elsif(DN_>=200 and DN_*tryck_>=5000 and tryck_>10 and tryck_<500) then RETURN 'Klass I';
elsif(DN_>=200 and DN_*tryck_>=5000 and tryck_>=500) then RETURN 'Klass II';
else RETURN '';
end if;
END
else RETURN '';
end if;
END FISKEBY_PS_CALC_PEDKAT;