当前位置: 代码迷 >> Sql Server >> 继续上一帖 插入表时在某个字段的开头和末尾加一段文字?解决方案
  详细解决方案

继续上一帖 插入表时在某个字段的开头和末尾加一段文字?解决方案

热度:91   发布时间:2016-04-27 13:48:23.0
继续上一帖 插入表时在某个字段的开头和末尾加一段文字?
就是在插入数据的时候,对某一字段进行验证,如果发现有非法字符用设定好的字符替换 比如插入的字符是:"美女我爱你" 就用女生把美女替换。 并且在整个插入的字段开头和末尾各加一段文字 文字为固定的 想到是用触发器 求个实例吧  
如表A
  id name des  
  1 张三 美女我爱你
  2 李四 我爱美女
插入后
  id name des  
  1 张三 可爱的 女生我爱你 嫁给我吧
  2 李四 可爱的 我爱美女 嫁给我吧
http://topic.csdn.net/u/20110105/14/c17f1f91-dd6f-49d2-9b18-8bc8eda94b4d.html

这是上一帖地址 和需求 
现在改为: 每次替换多个字符 且des的数据类型为Text类型

如表A
  id name des  
  1 张三 美女我爱你
  2 李四 我爱美女

用女生替换美女 用love替换爱
插入后
  id name des  
  1 张三 漂亮的 女生我love你 嫁给我吧
  2 李四 漂亮的 我love女生 嫁给我吧

上贴中 Dlut_LIuQ的方法是对的 但是des的数据类型改成Text后执行会有错误 :
数据类型 text 和 varchar 在 add 运算符中不兼容。

函数,触发器,或者触发器调用函数都可以 只要实现功能就行

------解决方案--------------------
探讨
就是在插入数据的时候,对某一字段进行验证,如果发现有非法字符用设定好的字符替换 比如插入的字符是:"美女我爱你" 就用女生把美女替换。 并且在整个插入的字段开头和末尾各加一段文字 文字为固定的 想到是用触发器 求个实例吧
如表A
id name des
1 张三 美女我爱你
2 李四 我爱美女
插入后
id name des
1 张三 可爱的 女生我爱……
  相关解决方案