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'
相关推荐
现在我们需要找到一个特定值(例如:'610012')出现在哪些表中的哪些字段里。这个问题可以通过编写动态SQL来解决。 #### 二、技术原理 此方法基于SQL Server的元数据查询能力。通过访问系统表`sys.columns`和`sys....
在这个特定的压缩包文件中,包含的是关于SQL Server 2000的一些特殊字符、关键字或者常用语句的拼音码和五笔码,这些编码通常用于输入法软件中,方便用户在编写SQL语句时快速输入。 拼音码是将汉字转换为汉语拼音的...
4. **`included_columns`**:索引中包含但不在键中的列,这些列通常出现在查询的返回结果集中。 5. **`statement`**:表示缺失索引所针对的表。 6. **`avg_user_impact`**:表示创建该索引后可能带来的成本降低的...
- `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中创建一个更新部门信息的过程,并给出了在Kingbase ES ...
在SQL Server的学习过程中,实践是提升技能的关键。"SQL Server练习50题"是一个非常实用的资源,旨在帮助用户巩固SQL Server的基础知识,特别是查询和多表查询这两方面的重要技能。下面将对这两个主题进行详细讲解。...
为了避免出现此类问题,您必须在安装有 SQL Server Express 的服务器中完全启用 MS DTC 服务。 若要完全启用 MS DTC,请执行下列操作: 在“控制面板”中,打开“管理工具”,再双击“组件服务”。 在左窗格的...
SQL Server和SQL Server Agent服务在Windows事件日志中分别以"MSSQLSERVER"和"SQLSERVERAGENT"作为来源,提供了一定程度的错误和信息记录。 - **SQL Server错误日志**:SQL Server的错误日志与Windows事件日志类似...
- SQL Server 使用 `syscolumns` 表和 `status=0x80` 来检查自增长列,而在 Oracle 中,可以通过 `dba_sequences` 视图查找序列(对应于自增长列)。 8. **主键和外键**: - SQL Server 使用 `sysobjects` 和 `...
在SQL Server 2012中,如果你需要在所有表中查找特定的字符串,可以采用以下方法。这个过程涉及到使用动态SQL和游标来遍历数据库中的所有表和字符串类型的字段。 首先,确保你已经在正确的数据库上下文中,通过`USE...
本篇主要关注SQL Server 2008中的三种自定义函数:标量函数、内联表值函数和多语句表值函数。 1. **标量函数**: 标量函数返回单个值,可以是任何SQL Server支持的数据类型。在创建标量函数时,其语法包括`CREATE ...
在SQL Server 2008中实现递归查询来获取所有上级或下级数据是一项非常实用的技术,尤其是在处理具有层次结构的数据时。本篇将详细解释如何利用Common Table Expressions (CTE)来完成这样的查询,并对提供的示例代码...
在SQL Server 2005中,表分区和索引是两种重要的数据库管理技术,它们对于提高查询性能、优化数据存储以及简化大规模数据管理起着关键作用。下面将详细阐述这两种概念及其应用。 1. 表分区(Table Partitioning) ...
在SQL Server 2005中,表值函数被用来实现空间数据库,这是一种高效的方法,尤其对于处理地理和天文数据的复杂查询。表值函数允许开发者创建自定义的函数,这些函数不仅返回单个值,而是能够返回一个表格,就像一个...
11. 存储过程和触发器:存储过程是存储在数据库中的一组为了完成特定功能的SQL语句,而触发器是一种特殊类型的存储过程,它会在特定的数据表上发生特定事件时自动执行。 12. SQL高级功能:这部分涵盖了如UNIQUE约束...
1. **视图**:一种虚拟表,其内容由存储在表中的数据通过SELECT语句定义。视图可以简化复杂的查询,也可以作为一种安全机制来限制对数据的访问。 2. **存储过程**:预编译的SQL代码块,可以在数据库中存储并多次执行...
- **定位字符**: 在Oracle中使用`INSTR`函数来查找字符串中的特定字符或模式的位置,在SQL Server中则使用`CHARINDEX`函数。 - **转换大小写**: 两个数据库均支持`LOWER`和`UPPER`函数来分别将字符串转换为小写和...
当SQL Server接收到一个查询请求时,它首先会在计划缓存中查找是否存在对应的执行计划。如果找到了匹配的计划,就可以直接使用而无需重新编译,从而节省了大量的计算资源。如果未找到合适的计划,则会进行编译并将其...