存储过程调用
declare
begin
P_RP_PUBLIC(TO_DATE('2022-08-19','yyyy-mm-dd'));
end;
变量是V_DATE_ID
但是使用V_DATE_ID拼接SQL的时候,这个日期格式就变成了 19-AUG-22 导致SQL无法执行,报AUG标识符无效的错。
拼接语句大概是这样的 V_SQL := 'insert into table_A ' ||REPLACE(SQL_TEXT,'V_DATE_ID',V_DATE_ID);
其中SQL_TEXT = SELECT V_DATE_ID FORM DUAL;
他执行的是这样的 insert into table_A SELECT 19-AUG-22 FROM DUAL;
第一个字段是一个date类型的。
ORACLE 数据库