gpt4 book ai didi

sql - 如何在sql数据库中所有表的所有列中搜索和替换字符串的一部分

转载 作者:太空狗 更新时间:2023-10-30 02:01:09 25 4
gpt4 key购买 nike

是否可以在数据库的所有表的所有列中搜索和替换所有出现的字符串?我使用 Microsoft SQL Server。

最佳答案

虽然我可以通过两种方式做到这一点,但这并不容易:

  1. 编写一系列存储过程,识别所有表的所有 varchar 和 text 列,并为每个表的每个列生成单独的更新语句,格式为“UPDATE foo SET BAR = REPLACE(BAR,'foobar','quux ')”。这可能会涉及大量针对系统表的查询,并进行大量实验——Microsoft 不会特意记录这些内容。
  2. 将整个数据库导出到一个文本文件,对其进行搜索/替换,然后重新导入整个数据库。鉴于您使用的是 MS SQL Server,这实际上是更简单的方法。微软创建了 Microsoft SQL Server Database Publishing Wizard出于其他原因,它是一个很好的工具,可以将 SQL Server 数据库的所有表导出为包含纯 SQL DDL 和 DML 的文本文件。运行该工具以导出数据库的所有表,根据需要编辑生成的文件,然后将该文件反馈给 sqlcmd 以重新创建数据库。

如果可以选择,我会使用第二种方法,只要 DPW适用于您的 SQL Server 版本。上次我使用该工具时,它满足了我的需求 (MS SQL Server 2000/2005),但在处理数据库角色时有一些问题。

关于sql - 如何在sql数据库中所有表的所有列中搜索和替换字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3022293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com