Wednesday, December 05, 2012

simple oracle function


gibt wert aus tabelle t_settings zurück
Warum abfrage auf count ? wenn   select VALUE Into EnvCd  FROM t_settings WHERE KEY='ENV_CD'; keinen Datensatz zurückleifert bricht die Funktion ab und leifert null zurück ...


create or replace
   Function GetEnvCode
     RETURN CHAR
    IS
      EnvCd CHAR(1):='Z';
      anz number:=0;
    BEGIN
      select count(*) INTO anz FROM t_settings WHERE KEY='ENV_CD';
      if (0        select VALUE Into EnvCd  FROM t_settings WHERE KEY='ENV_CD';
      else
        EnvCd:='X';
      End if;
      RETURN EnvCd;
    END;



testen mit:

select GetEnvCd from dual;