create or replace function fun_hd_translate_Area_byID
(
p_cArea in varchar2,p_cTableName in varchar2
)
return number
as
v_iResult number:=0;
v_cSql varchar2(1000);
beginv_cSql:='select
lngAreaID
from
'||p_cTableName||'.area where strFullName='||
p_cArea;
execute immediate v_cSql into v_iResult;
return v_iResult;
end fun_hd_translate_Area_byID;执行时如果参数不加上引号,会报错,加上引号则没有问题,在条件语句后面加
where strFullName='''||
p_cArea||''';则无法编译,请问有没有更好的方法可以处理,
(
p_cArea in varchar2,p_cTableName in varchar2
)
return number
as
v_iResult number:=0;
v_cSql varchar2(1000);
beginv_cSql:='select
lngAreaID
from
'||p_cTableName||'.area where strFullName='||
p_cArea;
execute immediate v_cSql into v_iResult;
return v_iResult;
end fun_hd_translate_Area_byID;执行时如果参数不加上引号,会报错,加上引号则没有问题,在条件语句后面加
where strFullName='''||
p_cArea||''';则无法编译,请问有没有更好的方法可以处理,
(
p_cArea in varchar2,p_cTableName in varchar2
)
return number
as
v_iResult number:=0;
v_cSql varchar2(1000);
beginv_cSql:='select
lngAreaID
from
'||p_cTableName||'.area where strFullName='''||
p_cArea||'''';
execute immediate v_cSql into v_iResult;
return v_iResult;
end fun_hd_translate_Area_byID;在结尾的单独引号,要变成四个
p_cArea||'''';