首页 > 解决方案 > 运行 PL SQL 函数的问题

问题描述

我正在尝试使用一些测试数据运行以下函数。当我通过 in_sales_model = 'C7.1' OR 'C3.2' 它失败了。当我通过'C32'或'C27'时它正确执行..我需要更改什么功能才能接受'C7.1'或类似的功能?

create or replace FUNCTION                GET_VALID_ENG_MODEL_CSQ_1 
(in_sales_model in varchar ,in_mkt_segment_code in varchar, in_PRODUCT_TYPE in varchar, in_duty in varchar,in_emison_ind in varchar)
RETURN VARCHAR2
IS tmp_eng_model_eomp VARCHAR2(32767);

BEGIN

    select /*+ optimizer_features_enable('11.2.0.3') */ distinct cic_model into tmp_eng_model_eomp
    from fbp_eng_mdl_ref
    where 
    PRODUCT_STATUS ='NEW' 
          end;


   RETURN tmp_eng_model_eomp; 

   EXCEPTION
     WHEN NO_DATA_FOUND THEN
     return '';
     WHEN OTHERS THEN
       return '';
       RAISE;
END GET_VALID_ENG_MODEL_CSQ_1;

标签: functionplsqlparameters

解决方案


create or replace FUNCTION GET_VALID_ENG_MODEL_CSQ_1(in_sales_model      in varchar2,
                                                     in_mkt_segment_code in varchar2,
                                                     in_PRODUCT_TYPE     in varchar2,
                                                     in_duty             in varchar2,
                                                     in_emison_ind       in varchar2)
  RETURN VARCHAR2 IS
  tmp_eng_model_eomp VARCHAR2(32767);
BEGIN
  select /*+ optimizer_features_enable('11.2.0.3') */
  distinct cic_model
    into tmp_eng_model_eomp
    from fbp_eng_mdl_ref
   where PRODUCT_STATUS = 'NEW';
  RETURN tmp_eng_model_eomp;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    return '';
END GET_VALID_ENG_MODEL_CSQ_1;


推荐阅读