【问题标题】:Looking for a simple way to search in Oracle for a ID/Text [duplicate]寻找一种在 Oracle 中搜索 ID/文本的简单方法 [重复]
【发布时间】:2011-09-29 16:58:39
【问题描述】:

可能重复:
Oracle Search all tables all columns for string

我正在寻找一种在 Oracle 中搜索所有表中的 ID/文本的简单方法。 有什么想法吗?

我目前正在使用 SQL Developer。 谢谢!

【问题讨论】:

  • 谢谢。使用 Google 和 Stackoverflow 搜索时未找到可能的重复项。但是,这篇文章正是我所需要的。

标签: sql oracle oracle10g oracle-sqldeveloper


【解决方案1】:

您可以在 sql-developer 中执行此操作。 (您可能需要更改 %ID% 以满足您的命名约定)

SELECT 
    TABLE_NAME
    , COLUMN_NAME 
FROM 
    USER_TAB_COLUMNS 
WHERE 
    column_name like '%ID%'

【讨论】:

  • 这将为他提供与 ID 匹配的列名,而不是具有与他的搜索匹配的值的表/列。
  • @Tridus,这将为他提供“类似”“%ID%”的表名和列名。有了这些信息,OP 就可以在每个表中搜索每个 id 字段中的值......这就是我阅读问题的方式。
【解决方案2】:

您可以使用USER_TABLESUSER_TAB_COLUMNS 系统表来读取您拥有的表和列。

使用该信息,您可以编写过程或匿名代码块来动态构建查询以搜索这些表。然后使用EXECUTE IMMEDIATE 执行它。

但请注意,这在大型数据库中可能表现不佳。此外,您可能需要检查列的数据类型以决定是否将其包含在您的搜索中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    相关资源
    最近更新 更多