0

我想知道是否有一个 Oracle 函数来转义特殊字符。

这是示例:

request := 'update tvire set nbqe = ''' || var_my_value  
dbms_sql.parse(curseur_ref_2, request, dbms_sql.native);
response := dbms_sql.execute(curseur_ref_2);

如果 var_my_value 包含引号,则执行过程中会出错。

是否有防止这种情况发生的 Oracle 函数:xx(var_my_value)

谢谢你

4

2 回答 2

1

不要试图逃避,而是使用绑定变量

于 2013-09-17T12:20:10.083 回答
0

使用绑定变量并立即执行:

execute immediate update t1 set c1 = :p1 where c2 = :p2 using var_my_value1, var_my_value2

dbms_sql 应仅在极少数情况下使用。例如,当动态查询具有不同数量的参数时。

PS:即使 dbms_sql 也有 procedure bind_variable

于 2013-09-17T15:37:08.210 回答