我的程序中有一个代码如下所示。但是,当我执行此代码时,我得到如下所述的错误。
我得到的错误报告是:
错误报告 -
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;
答案 0 :(得分:4)
要在带引号的字符串中嵌入引用的字符串,请使用两个单个引号:
'...and primary_flag=''Y''';
或者您可以使用较新的q'
语法来避免加倍嵌入的引号:
q'[...and primary_flag='Y']';