首页 > 解决方案 > 查询数据库中所有出现的字符串

问题描述

我试图在我的数据库中找到一个特定的字符串。我目前正在使用 FlameRobin 打开 FDB 文件,但该软件似乎没有适合此任务的功能。

我尝试了以下 SQL 查询,但没有成功:

SELECT
  *
FROM
  *
WHERE
  * LIKE '126278'

毕竟,最好的解决方案是什么?提前致谢。

标签: sqlwherefirebird

解决方案


这是火鸟文档:https ://www.firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25.html

你需要阅读关于

  1. “可选”类型的存储过程,
  2. execute statement命令,包括for execute statement变体
  3. 系统表,名称中有“关系”。

然后在你的SP中你枚举所有的表,然后你枚举这些表中的所有列,然后为它们中的每一个你运行一个通常的

       select 'tablename', 'columnname', columnname 
       from tablename 
       where columnname containing '12345'

在每个表的每个字段上。


但实际上,最好避免使用 SQL 命令,只需将所有数据库提取到一个长 SQL 脚本中,然后在记事本(或任何其他文本编辑器)中打开该脚本,然后搜索您需要的字符串。


推荐阅读