Oracle 存储过程内可以执行一般的 sql 语句,有时候会遇到字符串拼接问题,Oracle 拼接字符串跟JAVA不同,用的不是 + 而是 ||
关于怎么在字符串单引号内拼接单引号,可以使用 ''' 三个单引号这种方法,但是拼接过程要检查比较仔细,这里介绍另外一种方法,使用 ASCII 编码,单引号 ' 的编码是39,所以拼接字符串可以这样写
str := 'select * from user where name='||chr(39)||zhangsan||chr(39)||' order by id';
execute immediate str;