首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PLSQL中转义单引号

在PLSQL中转义单引号
EN

Stack Overflow用户
提问于 2011-07-13 19:58:25
回答 4查看 76.1K关注 0票数 27

我希望PLSQL生成如下字符串:

代码语言:javascript
复制
COMMENT ON COLUMN TABLE.COLUMN IS 'comment from database';

我的解决方案是:

代码语言:javascript
复制
declare
  str_comment varchar2(4000);
begin
  for rec in (select table_name, column_name, description from description_table)
  loop
    str_comment:='COMMENT ON COLUMN '||rec.table_name||'.'||rec.column_name||'  IS '''||rec.description||'''; ' ;
    dbms_output.put_line(str_comment);
  end loop;
end;

当输出不包含rec.description中的单个qoutes时,输出是OK的。否则需要转义字母。我应该如何实现它?

OK输出行(它有转义字母以保留单个查询):

代码语言:javascript
复制
COMMENT ON COLUMN TABLE1.COLUMN1_LV  IS 'It''s secret';

不是NOK输出行,因为没有添加单引号的转义字母并且无法编译:

代码语言:javascript
复制
COMMENT ON COLUMN TABLE1.COLUMN1_LV  IS 'It's secret';

我的解决方案不是检查description是否包含单引号。我只是在生成COMMENT ON字符串之前将源(描述)列的单引号替换为两个单引号,然后执行ROLLBACK

有更好的解决方案吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-13 20:04:54

我经常做这种排序工作(通常生成insert/update语句)。

您只需使用replace函数将所有'转换为''即可。例如,将其更改为:

代码语言:javascript
复制
str_comment:='COMMENT ON COLUMN '||rec.table_name||'.'||rec.column_name
            ||' IS '''||REPLACE( rec.description,'''','''''')||'''; ' ;
票数 36
EN

Stack Overflow用户

发布于 2011-07-13 20:32:55

您可以像这样使用Quote运算符

代码语言:javascript
复制
str_comment:='COMMENT ON COLUMN '||rec.table_name||'.'||rec.column_name||' IS q''[' ||rec.description|| ']'';' ;

请参阅http://psoug.org/reference/string_func.html

票数 18
EN

Stack Overflow用户

发布于 2011-07-13 20:05:31

在select中使用REPLACE函数。

代码语言:javascript
复制
declare
str_comment varchar2(4000);
begin
for rec in (SELECT table_name, column_name, REPLACE(description, '''', '''''') 
                FROM description_table)
loop
str_comment:='COMMENT ON COLUMN ' || rec.table_name || '.' 
                 ||rec.column_name|| ' IS ''' ||rec.description|| '''; ' ;
dbms_output.put_line(str_comment);
end loop;
end;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6678478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档