`

SQL Server中查询一个值出现的所有表

 
阅读更多
Create Procedure sp_Search(@Val Varchar(4000))As 
Begin 
Declare @TBName Varchar(200)
Declare @ColName Varchar(200)
Declare @Rst int 
Declare @Sql NVarchar(4000)
Declare @TB Table(TbName Varchar(200),ColName Varchar(200))
Declare myCur Cursor For 
Select A.Name,B.Name 
From sys.objects A 
Inner join sys.columns B on a.object_id=b.object_id Where A.Type='U' And system_Type_ID in(35,99,167,175,231,239)
Open myCur;
Fetch Next From myCur Into @TBName,@ColName 
While 
	@@FETCH_STATUS = 0
	Begin
		Set @Sql='If Exists(Select * From ['+@TBName+'] Where ['+@ColName+'] Like @Val)'
		Set @Sql=@Sql+'Set @Rst=1 '
		Set @Sql=@Sql+'Else '
		Set @Sql=@Sql+'Set @Rst=0 '
		Exec sp_Executesql @sql,N'@Val Varchar(4000),@Rst int output',@Val,@Rst output
		If(@Rst=1)
		Insert Into @TB values(@TBName,@ColName) 
		Fetch Next From myCur Into @TBName,@ColName
	End
	Close myCur
	DeAllocate myCur
	Select * From @TB
End
--------------------------------- 
Exec sp_search  '查询内容'
Exec sp_search  '%查询内容%'
 

 

分享到:
评论

相关推荐

    SQLServer中如何将一个字段的多个记录值合在一行显示

    SQLServer 中将一个字段的多个记录值合并到一行显示的实现方法 SQL Server 是一种关系型数据库管理系统,具有强大的数据处理能力和存储能力。在实际应用中,我们经常需要将一个字段的多个记录值合并到一行显示,以...

    如何使用SQL Server数据库中查询累计值

    "使用 SQL Server 数据库中查询累计值的方法" SQL Server 是一个功能强大且广泛使用的关系数据库管理系统,通过它可以对数据进行高效的存储、管理和查询。在实际应用中,我们经常需要对数据进行累计计算,例如银行...

    SQL Server 查询两个日期之间的所有月份

    在SQL Server中,查询两个日期之间的所有月份是一个常见的需求,特别是在数据分析、报表生成或时间序列分析等场景。本文将详细讲解如何使用SQL Server实现这一功能,以满足上述标题和描述中的要求。 首先,我们需要...

    sqlserver之并行查询

    在这一步中,需要注意一个问题,即可以在查询语句中指定 MAXDOP 查询提示来修改这个进度值。 三、并行查询中需要注意的内容 在使用并行查询时,需要注意以下几个方面: 首先,需要注意硬件方面的限制。并行查询...

    sql server 2008 递归查询所有上级或下级数据

    在SQL Server 2008中实现递归查询来获取所有上级或下级数据是一项非常实用的技术,尤其是在处理具有层次结构的数据时。本篇将详细解释如何利用Common Table Expressions (CTE)来完成这样的查询,并对提供的示例代码...

    如何使用SQL Server数据库查询累计值

    本文将为大家介绍如何使用SQL Server数据库查询累计值。

    SQL SERVER 多表联接查询SQL SERVER 多表联接查询SQL SERVER 多表联接查询

    SQL Server 是一个功能强大且灵活的关系数据库管理系统,支持多表联接查询,能够从多个表中检索数据,以满足复杂的业务需求。在本节中,我们将详细介绍 SQL Server 的多表联接查询,包括使用表的别名、命名列、组合...

    SQL SERVE根据值查找所在的表和字段

    现在我们需要找到一个特定值(例如:'610012')出现在哪些表中的哪些字段里。这个问题可以通过编写动态SQL来解决。 #### 二、技术原理 此方法基于SQL Server的元数据查询能力。通过访问系统表`sys.columns`和`sys....

    SqlServer查看表结构

    本篇文章将深入解析“SqlServer查看表结构”的方法,以及如何利用SQL语句来获取详细的表结构信息,这对于数据库管理员(DBA)、数据分析师、软件开发者等专业人士来说尤为关键。 ### SQL Server查看表结构的重要性 ...

    sqlserver 将某表中一个字段的所有值拼接起来

    适用于数据库使用

    SQL Server 将某一列的值拼接成字符串.docx

    在SQL Server中,将某一列的值拼接成字符串是一个常见的需求,这通常涉及到数据的格式化输出,比如创建报告或者导出数据。这个过程可以通过几种不同的方法来实现,其中包括使用FOR XML PATH子句和CONCAT函数。我们将...

    java 连接sqlserver数据库查询,并分页显示

    假设我们有一个名为`employees`的表,我们要查询所有员工的信息并进行分页。以下是如何使用PreparedStatement实现分页查询: ```java public void queryAndPaginate(int pageSize, int currentPage) { String sql ...

    SQL Server数据库查询速度慢原因及优化方法

    【赛迪网-IT技术报道】SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: ...其次,看一下SQL SERVER的数据存放的结构:一个页面的大小为8K(8060)字节,8个页面为一个盘区,按照B树存放。

    SQL Server查询中的特殊字符处理

    在SQL Server中,查询语句可能会遇到各种特殊字符,这些字符在特定的上下文中具有特殊的含义,如果直接使用,可能会影响到查询的结果。本篇将详细阐述如何处理这些特殊字符,特别是针对`LIKE`操作的特殊字符。 首先...

    三个SQL视图查出所有SQL Server数据库字典

    下面将详细介绍如何通过三个SQL视图来查询SQL Server中的所有数据库字典。 ### SQL Server数据库字典简介 在SQL Server中,数据库字典是存储有关数据库元数据(如表、列、索引等)的系统表和视图的集合。这些元...

    SQL Server存储过程中使用表值作为输入参数示例

    在2008之前如果我们想要将表作为输入参数传递给SQL Server存储过程使比较困难的,可能需要很多的逻辑处理将这些表数据作为字符串或者XML传入。 在2008中提供了表值参数。使用表值参数,可以不必创建临时表或许多参数...

    如何在SQL Server计算列和平均值

    你可以将第一部分(SUM)编写成一个表值 UDF,然后根据这个 UDF 来计算平均值。 CREATE FUNCTION [dbo].[SalesTotals_fnt]() RETURNS TABLE AS RETURN (SELECT SalesOrderID, SUM(LineTotal) AS TotalSale ...

    SQL Server精华查询语句

    在SQL Server中,查询语句是数据库操作的核心,它们用于从数据存储中检索信息。以下是一些关于SQL Server查询的精华知识点,通过理解和应用这些知识,你可以提高在SQL中的技能水平。 1. **多表连接**: 查询中涉及...

    查看sqlserver表分区数据分布

    在SQL Server中,为了提高大型数据库的管理效率与查询性能,常常会采用表分区技术。通过合理地将一个表的数据分散到多个物理文件或文件组上,可以显著提升数据处理的速度。本文将详细介绍如何查看SQL Server表分区的...

    sql server 2008 将一列值转换成一个字符串

    在SQL Server 2008中,将一列值转换为一个字符串是一个常见的需求,特别是在进行数据汇总或生成报告时。本篇文章将详细介绍如何利用SQL Server 2008中的功能来实现这一需求,并深入探讨背后的原理和技术要点。 ### ...

Global site tag (gtag.js) - Google Analytics