declare
v_sql varchar2(1000);
v_var varchar2(64);
v_order varchar2(64);
BEGIN
v_order := '14273223621031I';
v_sql := 'select SP_BILLNO from tenpayforwap right join dual on TRANSACTION_ID=' || v_order;
execute immediate v_sql into v_var;
if v_var is null then
v_var := '0';
end if;
dbms_output.put_line(v_var);
END; 当TRANSACTION_ID含有字母“I”时,会报异常:sql没有正确结束,不知道怎么办OracleSQL异常存储select
execute immediate v_sql into v_var using v_order;
v_sql := 'select SP_BILLNO from tenpayforwap right join dual on TRANSACTION_ID=:v_order';
execute immediate v_sql into v_var using v_order;