查找特定值的列名或表名

2023-12-20

我想在我的数据库中搜索一个特定的值,但我不知道它到底在哪里。 SQL Server中是否存在返回特定值的列名或表名的查询? 假设我有一个像 123 这样的列的值,但我不知道 123 属于哪个表,也不知道它的列名称。我可以编写一个查询来查找该值所在的表名吗? 我需要的是查询而不是过程!


这可能适合你。请注意,如果您有很多表/列,这可能需要相当长的时间。如果您没有搜索(N)VARCHAR列,您可能希望将这些类型添加到c.DATA_TYPE NOT IN(...条款。或者您没有查找的任何其他类型(例如FLOAT or DECIMAL).

SET NOCOUNT ON;
DECLARE @value NVARCHAR(MAX)='123';
CREATE TABLE #found(table_name SYSNAME,column_name SYSNAME);
DECLARE @sql NVARCHAR(MAX)=(
    SELECT
        'INSERT INTO #found(table_name,column_name) ' +
        'SELECT TOP 1 '+
            'table_name='''+REPLACE(t.TABLE_NAME,'''','''''')+''','+
            'column_name='''+REPLACE(c.COLUMN_NAME,'''','''''')+''' '+
        'FROM '+
            QUOTENAME(t.TABLE_SCHEMA)+'.'+QUOTENAME(t.TABLE_NAME)+' '+
        'WHERE '+
            QUOTENAME(c.COLUMN_NAME)+'='''+REPLACE(@value,'''','''''')+''';'
    FROM
        INFORMATION_SCHEMA.TABLES AS t
        INNER JOIN INFORMATION_SCHEMA.COLUMNS AS c ON
            c.TABLE_SCHEMA=t.TABLE_SCHEMA AND
            c.TABLE_NAME=t.TABLE_NAME
    WHERE
        t.TABLE_TYPE='BASE TABLE' AND 
        c.DATA_TYPE NOT IN('BIT','NTEXT','TEXT','IMAGE','BINARY','VARBINARY','DATETIME','DATE','DATETIME2','TIME','SMALLDATETIME','DATETIMEOFFSET')
    FOR XML
        PATH('')
);

EXECUTE (@sql);
SELECT * FROM #found ORDER BY table_name,column_name;
DROP TABLE #found;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找特定值的列名或表名 的相关文章

  • 为什么 SqlClient 在传递 SqlXml 时使用不必要的 XML 转换?

    我有一个关于从 C 代码将 xml 数据类型传递给查询的问题 首先 这是 SQL Server 上的一个表 CREATE TABLE dbo XmlTable id int IDENTITY 1 1 NOT NULL dat xml NOT
  • 实体框架 - SQL Server 2005 - IIS 服务器日期时间问题

    我正在使用 MVC3 和实体框架 在我的应用程序中 我需要通过 EF 调用 SQL Server 2005 中的存储过程来根据以下内容搜索一些数据datetime传递的参数 在当地环境中一切似乎都运行良好 但是将其托管到 IIS 后 我在尝
  • 临时表是线程安全的吗?

    我正在使用 SQL Server 2000 它的许多存储过程广泛使用临时表 数据库的流量很大 我担心创建和删除临时表的线程安全性 假设我有一个存储过程 它创建了一些临时表 它甚至可以将临时表连接到其他临时表等 并且还可以说两个用户同时执行存
  • 为什么我的 CASE 语句要求 THEN 部分的数据类型为 INT?

    我正在尝试运行一个查询 其中以下 CASE 语句是其中一行 我正在使用报表生成器 3 0 但是 我收到一条错误消息 将 varchar 值 Case 1 转换为 int 数据类型时转换失败 Microsoft SQL Server 错误 2
  • 可以获取SQL Server中当前执行的存储过程的行号吗?

    几年前 我在 Sybase Delphi 环境中工作 使用 BDE 连接到数据库服务器 我们有一个 Delphi 小应用程序 给定当前正在执行的存储过程的名称 它可以告诉您当前正在执行该存储过程的哪一行 这对于调试似乎挂起的存储过程非常有用
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun
  • 在 SQL Server 中,如果主键是 GUID,如何按插入顺序对表行进行排序?

    我开始在主键中使用 GUID 而不是自动增量整数 然而 在开发过程中 我习惯于查询 从 SQL Management Studio 或 Visual Studio 数据库 以查看我的应用程序刚刚插入的记录 并且我对无法按主键 desc 顺序
  • VB6+SQL-Server:如何使用 ADODB.Command 执行带有命名参数的查询?

    我一直在尝试使用 ADODB Command 执行参数化查询 我知道我可以使用 对于参数 但我的查询相当大 我真的不想跟踪参数的确切顺序 我尝试了类似以下的操作 objCmd CommandType adCmdText objCmd Com
  • 使用包含和不包含的 Linq 查询

    我正在尝试从数据库中获取记录 它应该 getrecords 其中名称包含 searchKey 并且名称不在 exceptTerms 数组中 并以逗号分隔 我怎样才能在 Linq 中做到这一点 Rows from u in DB Client
  • 同时使用 GUID 和自动递增整数

    我一直在研究使用 GUID 作为数据库中的主键 到目前为止 利似乎大于弊 然而 我发现 GUID 可能不是我想要的 在我的应用程序中 用户应该能够根据用户友好的 ID 来识别对象 因此 例如 如果他们想要获取特定产品而不输入全名 则可以使用
  • 删除 IF ELSE 语句中的临时表

    我在这里面临僵局 问题是我必须更改使用 3 个不同临时表的过程 为了便于对话 让我们将它们命名为 temptable1 temptable2 temptable3 我无法在这里复制 粘贴整个过程 但总体思路是这样的 原始过程 procedu
  • 使用 CLR 返回表

    我想编写一个 CLR 过程 它接受一个文本并返回一个包含该文本中所有单词的表 但我不知道如何返回一张桌子 你能告诉我吗 Microsoft SqlServer Server SqlFunction public static WhatTyp
  • 数据库未在客户端系统上运行的 C# Windows 窗体应用程序

    我用 C 开发了一个使用 SQL Server 数据库连接的 Windows 窗体应用程序 我在 NET Framework 4 0 和 SQL Server 2008 R2 中开发它 我的应用程序正在使用应用程序根目录中存在的本地数据库
  • 在c#中创建sql连接

    我是这个网站的新手 也是编程的新手 我目前正在通过销售点创建库存系统 它使用模态和非模态形式 我的问题是 我正在研究change password对话框必须连接到数据库才能覆盖密码字段 我使用的数据库是Microsoft SQL Serve
  • sql查询获取从一月到当月的所有数据,即使没有记录

    我不擅长 sql 所以任何帮助世界都很棒 我有一个 SQL 查询 可以获取从一月到当月注册的记录 我的代码示例 SELECT DatePart YEAR p createStamp as TheYear DatePart MONTH p c
  • Reporting Services 在哪里存储其日志文件

    最相关的谷歌结果似乎表明 为了访问日志 我们必须将您自己的日志表部署到数据库并制作报告服务写入它 http technet microsoft com en us library ms157403 aspx 简而言之 Reporting S
  • 数字表与递归 CTE 生成一系列数字

    为什么使用数字表比使用递归 CTE 动态生成它们要快得多 在我的机器上 给定一张桌子numbers单列n 主键 包含从1到100000的数字 查询如下 select n from numbers 大约需要 400 毫秒才能完成 使用递归 C
  • SQL查询查找表的主键?

    我怎样才能找到哪一列首要的关键使用查询来创建表 这是重复的question https stackoverflow com questions 893874 mysql determine tables primary key dynami
  • Android:如何从网络异步获取搜索建议?

    我创建了一个可搜索的活动 现在 我想添加从网络服务获取的搜索建议 我想异步获取这些建议 根据添加自定义建议 http developer android com guide topics search adding custom sugge
  • 我是否需要在外键上指定 ON DELETE NO ACTION?

    我有以下与 SQL Server 2012 一起使用的 DDL CREATE TABLE Subject SubjectId INT IDENTITY 1 1 NOT NULL Name NVARCHAR 50 Not NULL CONST

随机推荐

  • 如何减少 Eclipse Ganymede 的内存使用?

    我使用最新的 Eclipse Ganymede 版本 特别是针对 Java EE 和 Web 开发人员的发行版 我安装了一些额外的插件 例如 Subclipse Spring FindBugs 并删除了所有 Mylyn 插件 我在 Ecli
  • 使用继承与接口的装饰器设计模式

    我想使用继承来实现装饰器设计模式 Decorator extends Component 因为我需要访问组件类的受保护字段 方法 问题在于 Component 类代表一种算法 它在构造时执行一些预处理并保存大量数据 现在 每次装饰组件时 我
  • 如何设置与单击一次应用程序的文件关联?

    我有一个点击一次的应用程序 我有一个关联文件 用于存储应用程序的数据 当用户单击这些文件之一时 我希望它打开单击一次应用程序并加载文件 我可以在发布中设置文件关联 图标和名称设置正确 单击文件将打开应用程序 但应用程序似乎没有传递文件的路径
  • 如果从 C# 代码调用,则捕获 EXE 文件中的错误

    我正在从 C 代码运行 exe 文件 由于某些原因 该 exe 文件中出现错误 它一直等待并最终给出弹出错误 abc exe已停止工作 等 但它不退出 The below code is calling it successfully pu
  • NetworkX:在Python中连接两个独立图的节点

    这个问题是关于尝试建模相互依存的网络 https en wikipedia org wiki Interdependent networks与 NetworkX 一起 有专用的包 例如Pymnet http people maths ox
  • node.js - 向子进程发送快捷键

    我的程序生成 ssh 作为子进程 连接到服务器 然后能够写入流并读取其输出 这一切都很好 当我将 ls 写入进程流时 我会得到文件列表 但现在 我想发送此进程的快捷键 以便我可以中止 ssh 会话中正在运行的进程 我知道这也可以通过流来完成
  • 如何在OpenCV中将16位图像转换为32位图像?

    我是 OpenCV 新手 我的程序读取 16 位无符号整数的图像数据 我需要将图像数据乘以 16 位无符号整数的增益 因此 生成的数据应保存在 32 位图像文件中 我尝试了以下操作 但得到了 8 位全白图像 请帮忙 Mat inputDat
  • 无法读取.net core 2.1中的用户机密

    我在尝试读取用户机密时遇到问题 我在startup cs中的代码如下 public Startup IHostingEnvironment env var builder new ConfigurationBuilder SetBasePa
  • 当受管节点是 Windows 主机时如何查找“env”?

    我需要获取 Windows 路径变量 UserProfile 进入 Ansible 剧本 例如 env USERPROFILE 如果我的受管节点是 Linux 主机 我想像 vars wPath lookup env USERPROFILE
  • 函数语句与函数表达式奇怪的行为

    var a function b console log typeof b gives undefined console log typeof a gives function 为什么两个输出有差异 我理解函数表达式和函数语句之间的区别
  • 在 Spark on Yarn 中使用类型安全配置

    我有一个从配置文件读取数据的 Spark 作业 该文件是类型安全的配置文件 读取配置的代码如下所示 ConfigFactory load getConfig com mycompany 现在我不将 application conf 组装为我
  • 带有父子行的 Angular Material 垫表的替代颜色

    我有一个有角度的材料mat table我使用 CSS 样式来替代行颜色 这是 CSS 样式 mat row nth child even background color e4f0ec mat row nth child odd backg
  • 如何正确安装 django-nose?

    我在运行 django nose 时遇到问题 Per the 安装说明 https github com jbalogh django nose 我安装的方式是 Running pip install django nose Adding
  • Python:如何使用splinter/浏览器一次性填写表单?

    目前 我正在网站上填写表格 内容如下 browser fill form firstname Mabel browser fill form email email protected cdn cgi l email protection
  • 有没有办法从 Excel 特定单元格收集数据并发送给 SQL Server?

    我有一个 Excel 表格模板 希望用户每天填写 一张表告诉我哪些单元格正在读 写 意味着我想将哪些单元格发送到我的数据库 该形式不是管状的 即 有时数据被设置 A3 gt A4 或 A3 gt B3 我想知道是否有 Excel 插件或任何
  • OAuth登录完成后重定向到之前的URL(flask-dance)

    我正在开发一个 Flask 应用程序 允许用户使用 OAuth 以 Github 作为提供者 和 Flask dance 库登录 由于某种原因 成功登录后 我无法重定向到我将用户发送到登录页面的页面 当用户尝试连接时 例如http loca
  • c 函数是否可以同时接受 double 和 long double 参数?

    我在文件 mag c 中有一个函数 mag 用于计算数组的大小 include
  • 在Master上触发事件并在Salt Minion上等待“响应事件”

    我想要的是由 Minion 调用的类似 RPC 的行为 并将其放入某种脚本中 然后可以由任何 非 Salt 非 Python 应用程序和服务调用 在Master上触发一个事件 有效负载对应于命令行参数 the Reactor system
  • 创建的 PDF 不反映对原始文档所做的更改

    我有一个 Google 文档模板 它会自动复制到文件夹中 并用电子表格单元格中的值替换特定值 该模板包含诸如以下的值 lt lt 41 gt gt 它们用于 查找并替换 来自电子表格的值 查找和替换过程很好 文档的结果如下图所示 现在 我希
  • 查找特定值的列名或表名

    我想在我的数据库中搜索一个特定的值 但我不知道它到底在哪里 SQL Server中是否存在返回特定值的列名或表名的查询 假设我有一个像 123 这样的列的值 但我不知道 123 属于哪个表 也不知道它的列名称 我可以编写一个查询来查找该值所