`

sqlserver查找特定值出现在什么表中

阅读更多
CREATE proc Full_Search(@string varchar(50))   
as   
begin   
 
declare @tbname varchar(50)   
declare tbroy cursor for select name from sysobjects   
where xtype= 'u ' --第一个游标遍历所有的表   
 
open tbroy   
fetch next from tbroy into @tbname   
while @@fetch_status=0   
begin   
 
declare @colname varchar(50)   
declare colroy cursor for select name from syscolumns   
where id=object_id(@tbname) and xtype in (   
select xtype from systypes   
where name in ( 'varchar ', 'nvarchar ', 'char ', 'nchar ') --数据类型为字符型的字段   
) --第二个游标是第一个游标的嵌套游标,遍历某个表的所有字段   
 
open colroy   
fetch next from colroy into @colname   
while @@fetch_status=0   
begin   
 
declare @sql nvarchar(1000),@j int   
select @sql= 'select @i=count(1) from ' +@tbname + ' where '+ @colname+ ' like '+ '''%'+@string+ '%'''   
exec sp_executesql @sql,N'@i int output',@i=@j output --输出满足条件表的记录数   
if @j> 0   
BEGIN  
select 包含字串的表名=@tbname  
--exec( 'select distinct '+@colname+' from ' +@tbname + ' where '+ @colname+ ' like '+ '''%'+@string+ '%''')   
END  
fetch next from colroy into @colname   
end   
 
close colroy   
deallocate colroy   
 
fetch next from tbroy into @tbname   
end   
close tbroy   
deallocate tbroy   
end   
go   
 
exec Full_Search '7204070A3009073C175C0A815AC2D123'

 

分享到:
评论

相关推荐

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

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

    sqlserver2000 拼音码 五笔码

    在这个特定的压缩包文件中,包含的是关于SQL Server 2000的一些特殊字符、关键字或者常用语句的拼音码和五笔码,这些编码通常用于输入法软件中,方便用户在编写SQL语句时快速输入。 拼音码是将汉字转换为汉语拼音的...

    sqlserver 2008 查找缺失索引

    4. **`included_columns`**:索引中包含但不在键中的列,这些列通常出现在查询的返回结果集中。 5. **`statement`**:表示缺失索引所针对的表。 6. **`avg_user_impact`**:表示创建该索引后可能带来的成本降低的...

    sqlserver-oracle 数据类型对照

    - `NVL`和`ISNULL`在Oracle和SQL Server中用于处理NULL值。 3. **转换函数**: - `TO_CHAR`和`TO_NUMBER`在Oracle中用于字符到数字和数字到字符的转换。 - `HEX_TO_RAW`和`RAW_TO_HEX`分别在Oracle中进行16进制...

    SQL Server连接字段的方法

    在SQL Server中,经常会遇到需要将不同的字段进行组合或转换的情况,比如将分别存储年、月、日的三个字段合并成一个日期格式的字符串。这种需求在实际应用中非常常见,尤其是在处理历史遗留数据或者特定格式的数据时...

    SQL Server和国产数据库之间数据移植研究.pdf

    文档还提供了一些SQL Server的特定语法,例如创建序列和表的语句,以及如何在表中使用默认值。 在存储过程方面,文档中通过一个示例展示了如何在SQL Server中创建一个更新部门信息的过程,并给出了在Kingbase ES ...

    SQl server练习50题

    在SQL Server的学习过程中,实践是提升技能的关键。"SQL Server练习50题"是一个非常实用的资源,旨在帮助用户巩固SQL Server的基础知识,特别是查询和多表查询这两方面的重要技能。下面将对这两个主题进行详细讲解。...

    Microsoft SQL Server 2005 Express Edition SP3

    为了避免出现此类问题,您必须在安装有 SQL Server Express 的服务器中完全启用 MS DTC 服务。 若要完全启用 MS DTC,请执行下列操作: 在“控制面板”中,打开“管理工具”,再双击“组件服务”。 在左窗格的...

    SQL Server数据库状态监控 – 错误日志

    SQL Server和SQL Server Agent服务在Windows事件日志中分别以"MSSQLSERVER"和"SQLSERVERAGENT"作为来源,提供了一定程度的错误和信息记录。 - **SQL Server错误日志**:SQL Server的错误日志与Windows事件日志类似...

    Oracle和SqlServer系统表操作差异对比

    - SQL Server 使用 `syscolumns` 表和 `status=0x80` 来检查自增长列,而在 Oracle 中,可以通过 `dba_sequences` 视图查找序列(对应于自增长列)。 8. **主键和外键**: - SQL Server 使用 `sysobjects` 和 `...

    sql server 2012 数据库所有表里查找某字符串的方法

    在SQL Server 2012中,如果你需要在所有表中查找特定的字符串,可以采用以下方法。这个过程涉及到使用动态SQL和游标来遍历数据库中的所有表和字符串类型的字段。 首先,确保你已经在正确的数据库上下文中,通过`USE...

    Sqlserver 自定义函数 Function使用介绍

    本篇主要关注SQL Server 2008中的三种自定义函数:标量函数、内联表值函数和多语句表值函数。 1. **标量函数**: 标量函数返回单个值,可以是任何SQL Server支持的数据类型。在创建标量函数时,其语法包括`CREATE ...

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

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

    SQLServer2005中的表分区功能和索引

    在SQL Server 2005中,表分区和索引是两种重要的数据库管理技术,它们对于提高查询性能、优化数据存储以及简化大规模数据管理起着关键作用。下面将详细阐述这两种概念及其应用。 1. 表分区(Table Partitioning) ...

    在 SQL Server 2005 中使用表值函数来实现空间数据库

    在SQL Server 2005中,表值函数被用来实现空间数据库,这是一种高效的方法,尤其对于处理地理和天文数据的复杂查询。表值函数允许开发者创建自定义的函数,这些函数不仅返回单个值,而是能够返回一个表格,就像一个...

    sqlserver入门到精通txt

    11. 存储过程和触发器:存储过程是存储在数据库中的一组为了完成特定功能的SQL语句,而触发器是一种特殊类型的存储过程,它会在特定的数据表上发生特定事件时自动执行。 12. SQL高级功能:这部分涵盖了如UNIQUE约束...

    SQLServer基础篇

    1. **视图**:一种虚拟表,其内容由存储在表中的数据通过SELECT语句定义。视图可以简化复杂的查询,也可以作为一种安全机制来限制对数据的访问。 2. **存储过程**:预编译的SQL代码块,可以在数据库中存储并多次执行...

    ORACLE与SQLSERVER函数异同比较

    - **定位字符**: 在Oracle中使用`INSTR`函数来查找字符串中的特定字符或模式的位置,在SQL Server中则使用`CHARINDEX`函数。 - **转换大小写**: 两个数据库均支持`LOWER`和`UPPER`函数来分别将字符串转换为小写和...

    SQL Server2005中的批编译,重编译和计划缓存.pdf

    当SQL Server接收到一个查询请求时,它首先会在计划缓存中查找是否存在对应的执行计划。如果找到了匹配的计划,就可以直接使用而无需重新编译,从而节省了大量的计算资源。如果未找到合适的计划,则会进行编译并将其...

Global site tag (gtag.js) - Google Analytics