请教拼接SQL字符转义问题

存储过程中。执行报错,下面拼接SQL时,常量字符串‘记账凭证’字符串如何转义?

exec('INSERT INTO ' + @nc_tablename +
                       ' ( PK_NC--NC凭证表主键 
                        pzlb--凭证类别
                 select 
                         pk_u8  --U8凭证表主键
                        ,  '+'记账凭证'+'  --凭证类别
                              from ' + @u8_tablenme  )

适用\转移,一版都是用这个符号来转移

https://blog.csdn.net/tsytdhs163/article/details/7480278

https://blog.csdn.net/tsytdhs163/article/details/7480278

sql 当中拼接字符串,当你引用的内容本身为字符串的时候要用两个双引号, 比如 select '你好' from dual;, 要打印出整句话的时候 就是
‘select ''你好'' from dual;’注意是两个单引号, 并不是双引号

存储过程中,拼装字符串一般用3个'
例如
sql = sql + ' t.id = ''' + @id + ''' + ' and ...
否则没办法得到
 t.id = 'aaa' and
那样的效果。

事实上, StringEscapeUtils 不但提供了 SQL 特殊字符转义处理的功能,还提供了 HTML、XML、JavaScript、Java 特殊字符的转义和还原的方法。如果您不介意引入 jakarta commons lang 类包,我们更推荐您使用 StringEscapeUtils 工具类完成特殊字符转义处理的工作。