动态执行即时查询问题



我的过程中的代码看起来像这样。但是,当我执行此代码时,我会收到如下所述的错误。

我得到的错误报告是:

错误报告 - ORA-06553:PLS-306:呼叫" OGC_Y"中的错误数字或类型的参数类型ORA-06512:在第20行06553. 00000-" pls-%s:%s"*原因:
*动作:

错误与 primary_flag = "Y"< - 这有关。我还能在字符串内写primary_flag ='y'?在我的情况下,需要动态查询。

我的代码是:

    DECLARE
    p_assignee_id NUMBER := 10153;
    time_stamp timestamp := '12-DEC-2011';
    create_task_view_sql VARCHAR2(4000);
    BEGIN
       create_task_view_sql:=
                                         'select unique cp.sub_last_name 
                                          from cs_sr_contact_points_v cp 
                                          where cp.incident_id = 55500 
                                          and cp.contact_phone is not null 
                                          and primary_flag = "Y"';
       dbms_output.put_line(create_task_view_sql);
       execute immediate create_task_view_sql;

END;

嵌入引号的字符串中引用字符串,使用两个 quot> quotes:

'...and primary_flag=''Y''';

或者您可以使用较新的q'语法来避免加倍嵌入式引号:

q'[...and primary_flag='Y']';

相关内容

  • 没有找到相关文章

最新更新