【发布时间】:2014-05-13 13:14:41
【问题描述】:
我正在使用 oracle 10g plsql 程序进行插入和列出,但如果我们有任何特殊字符,如 '(单引号)和 & 等,查询将失败。如何处理plsql中的特殊字符?
之前:
lquery := 'select count(id) into lCount
From
dual
where
name = '||iName||'
and Id= '||iId
之后:
select into lCount
From
dual
where
Id= iId
and name = iName;
更改查询后,它的工作正常。问题是,如果我们在单引号内保留变量(如名称值),有时查询不会在更改查询后对' , " 等特殊字符执行,它的工作正常。
【问题讨论】:
-
请编辑您的帖子以包含一个失败的代码示例。还包括有关您如何调用此代码的信息,因为这可能会影响答案。谢谢。
-
你不应该像这样连接你的查询。改用参数
select ... where id = :1 and name = :2