create or replace function FUN_TR_ID2NAME(in_table_name in varchar2
, in_column_name in varchar2
, in_column_id in varchar2
, in_id in varchar2) return varchar2 is
/**
根据表名称、字段名称、编码名称、编码、翻译该字段值
*/
Result varchar2(1000);
v_sql varchar2(1000);
/*开启自治事务,可以不用开启*/
pragma autonomous_transaction;
begin
if in_table_name is null then return ''; end if;
if in_column_name is null then return ''; end if;
if in_column_id is null then return ''; end if;
if in_id is null then return''; end if;
/*字符‘'’ 单引号需要转义,使用‘'’转义后变为‘''’,两边再加上单引号,所以一个引号变成了四个引号*/
v_sql := 'select '||in_column_name||' from '||in_table_name||' where '||in_column_id||'='''||in_id||'''';
execute immediate v_sql into Result;
return(Result);
end FUN_TR_ID2NAME;