Oracle 存儲過程內可以執行一般的 sql 語句,有時候會遇到字符串拼接問題,Oracle 拼接字符串跟JAVA不同,用的不是 + 而是 ||
關於怎麼在字符串單引號內拼接單引號,可以使用 ''' 三個單引號這種方法,但是拼接過程要檢查比較仔細,這裏介紹另外一種方法,使用 ASCII 編碼,單引號 ' 的編碼是39,所以拼接字符串可以這樣寫
str := 'select * from user where name='||chr(39)||zhangsan||chr(39)||' order by id';
execute immediate str;