USE [master]
GO
/****** 对象: StoredProcedure [dbo].[sp_ValueSearch] 脚本日期: 12/19/2013 15:39:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[sp_ValueSearch]
@value sql_variant, --要搜索的数据
@precision bit=1 --1=仅根据sql_variant中的数据类型查找对应类型的数据列.<>1,查询兼容的所有列,字符数据使用like匹配
AS
SET NOCOUNT ON
IF @value IS NULL RETURN
--数据类型处理
SELECT xtype INTO #t FROM systypes
WHERE name=SQL_VARIANT_PROPERTY(@value,N'BaseType')
--扩展数据类型及查询处理语句
DECLARE @sql nvarchar(4000),@sql1 nvarchar(4000)
IF @precision=1
SET @sql=CASE SQL_VARIANT_PROPERTY(@value,N'BaseType')
WHEN N'text' THEN N' LIKE N''%''+CAST(@value as varchar(8000))+''%'''
WHEN N'ntext' THEN N' LIKE ''%''+CAST(@value as nvarchar(4000))+''%'''
ELSE N'=@value' END
ELSE
BEGIN
SET @sql=CAST(SQL_VARIANT_PROPERTY(@value,N'BaseType') as sysname)
IF @sql LIKE N'%char' or @sql LIKE N'%text'
BEGIN
INSERT #t SELECT xtype FROM systypes
WHERE name LIKE N'%char' or name LIKE N'%text'
SELECT @sql=N' LIKE N''%''+CAST(@value as '
+CASE
WHEN LEFT(@sql,1)=N'n' THEN ' nvarchar(4000)'
ELSE 'varchar(10000)' END
+N')+N''%'''
END
ELSE IF @sql LIKE N'%datetime'
BEGIN
INSERT #t SELECT xtype FROM systypes
WHERE name LIKE N'%datetime'
SET @sql=N'=@value'
END
ELSE IF @sql LIKE N'%int'
OR @sql LIKE N'%money'
OR @sql IN(N'real',N'float',N'decimal',N'numeric')
BEGIN
INSERT #t SELECT xtype FROM systypes
WHERE name LIKE N'%int'
OR name LIKE N'%money'
OR name IN(N'real',N'float',N'decimal')
SET @sql=N'=@value'
END
ELSE
SET @sql=N'=@value'
END
--保存结果的临时表
CREATE TABLE #(TableName sysname,FieldName sysname,Type sysname,SQL text)
DECLARE tb CURSOR LOCAL
FOR
SELECT N'SELECT * FROM '
+QUOTENAME(USER_NAME(o.uid))
+N'.'+QUOTENAME(o.name)
+N' WHERE '+QUOTENAME(c.name)
+@sql,
N'INSERT # VALUES(N'+QUOTENAME(o.name,N'''')
+N',N'+QUOTENAME(c.name,N'''')
+N',N'+QUOTENAME(QUOTENAME(t.name)+CASE
WHEN t.name IN (N'decimal',N'numeric')
THEN N'('+CAST(c.prec as varchar)+N','+CAST(c.scale as varchar)+N')'
WHEN t.name=N'float'
OR t.name like N'%char'
OR t.name like N'%binary'
THEN N'('+CAST(c.prec as varchar)+N')'
ELSE N'' END,N'''')
+N',@sql)'
FROM sysobjects o,syscolumns c,systypes t,#t tt
WHERE o.id=c.id
AND c.xusertype=t.xusertype
AND t.xtype=tt.xtype
AND OBJECTPROPERTY(o.id,N'IsUserTable')=1
OPEN tb
FETCH tb INTO @sql,@sql1
WHILE @@FETCH_STATUS=0
BEGIN
SET @sql1=N'IF EXISTS('+@sql+N') '+@sql1
EXEC sp_executesql @sql1,N'@value sql_variant,@sql nvarchar(4000)',@value,@sql
FETCH tb INTO @sql,@sql1
END
CLOSE tb
DEALLOCATE tb
--select replace(CAST(SQL as nvarchar(4000)),N'@value',''''+CAST(@value as nvarchar(4000))+'''') as SQL_str from # where SQL like '%@value%'
update # set SQL = replace(CAST(SQL as nvarchar(4000)),N'@value',''''+CAST(@value as nvarchar(4000))+'''') where SQL like '%@value%'
SELECT * FROM #
--SELECT * FROM #t
相关推荐
"SP_Flash_Tool_v6.2124_Win.zip" 是一个针对Android设备的固件升级工具,主要由 MediaTek 公司开发,用于帮助用户更新或修复基于 MediaTek 芯片的智能手机和平板电脑的固件。这个工具在中文通常被称为“智能平台...
"SP_Flash_Tool_exe_Windows_v5.2116.00.000.zipl.rar" 这个文件名表明我们正在处理一个适用于Windows操作系统的固件更新工具,名为“SP_Flash_Tool”。这个工具是SmartPhone Flash Tool(SP_Flash_Tool)的一个版本...
《SP_Flash_Tool_v5.2124_Win.zip》是一个专用于安卓设备的固件升级工具,其核心组件是SP_Flash_Tool(SmartPhone Flash Tool),它是由 MediaTek Inc. 开发的一款强大的软件,主要用于对基于MediaTek芯片的Android...
MTK联发科SP_Flash_Tool_v5.2316_Win是一款针对联发科(MTK)处理器的安卓设备而设计的专业刷机工具。它主要用于帮助用户进行系统升级、故障修复、数据恢复等操作,尤其适用于那些无法通过常规方法进行软件更新的设备...
《SP_Flash_Tool_src_5.1844源代码C深度解析》 SP_Flash_Tool,全称为Smart Phone Flash Tool,是一款广泛应用于基于MediaTek(MTK)芯片的Android设备的固件升级和刷机工具。这款工具的核心功能是通过C语言实现,...
EXEC @HR = sp_OACreate N'MSXML2.XMLHTTP.6.0',@Object OUT; IF @HR <> 0 BEGIN EXEC sp_OAGetErrorInfo @Object,@Source OUT,@Desc OUT; RAISERROR('Error Creating COM Component 0x%x, %s, %s',16,1, @HR, @...
sp_dboption函数命令SQLserver2008以上版本适用 SQLserver2008以上版本,不再支持sp_dboption函数,但你可以下载sp_dboption函数,在master直接执行,后面就可以使用sp_dboption函数命令
**SP_META工具详解** 在移动设备的开发和调试过程中,Meta模式扮演着至关重要的角色。MTK(MediaTek)作为全球知名的芯片制造商,为开发者提供了一款名为SP_META的工具,便于进入Meta模式进行二次开发。本文将深入...
创建SP_WHO_LOCK死锁信息临时表,查询数据库死锁信息,方便解决数据库锁库问题。
MTK_SP_Flash_Tool_v5.2112_Win.zip 是一款专为Mediatek(MTK)芯片组设计的刷机工具,用于在个人计算机(PC)上对基于MTK平台的智能手机和平板电脑进行系统升级、固件刷新等操作。这款工具的版本号为v5.2112,意味...
TMS320C674x的DSP内核设计有高速浮点运算单元,DSPLib充分利用这一优势,提供了如复数乘法(DSPF_sp_dotp_cplx)等基本数学运算的高效实现。复数乘法在信号处理中非常常见,例如在滤波器设计、频谱分析中都会用到,...
"SP_Flash_Tool_v5.2044_Win.zip" 是一个专为MediaTek (MTK) 芯片组设计的下载工具,适用于Windows操作系统。这个工具的主要功能是帮助用户对基于MTK芯片的Android设备进行固件升级、系统恢复、刷机等操作。在...
SP_Flash_Tool,全称SmartPhone Flash Tool,是一款在安卓设备上广泛使用的刷机工具,尤其在处理手机系统故障或需要恢复出厂设置时非常实用。它由 MediaTek Inc. 开发,专为搭载联发科(Mediatek)芯片的智能手机和...
"通过SP_Flash_Tool线刷失败解决方法" SP_Flash_Tool是一款流行的刷机工具,主要用于MTK芯片的Android设备。但是在使用SP_Flash_Tool时,用户经常会遇到各种错误代码,这些错误代码会阻止刷机过程的进行。下面我们...
MTK平台下载软件,下载,擦除,MemeryTest,回读等功能。
MTK(MediaTek)刷机工具,全称为SP_Flash_Tool,是专为基于MediaTek芯片的Android设备设计的一款强大的固件升级和恢复工具。在本文中,我们将深入探讨这款工具的功能、使用方法以及相关注意事项。 MTK(MediaTek)...
MTK_SP_Drivers_v 2.0 是一个专门针对联发科(MediaTek)芯片组的特殊程序包,主要用于安装和更新适用于联发科设备的驱动程序。这个压缩文件包含了一系列驱动,使得用户能够在电脑上顺利识别和操作基于联发科处理器...
《SP_Flash_Tool.exe:MTK平台的固件升级利器》 在电子设备的世界里,固件升级是一项至关重要的任务,它能优化设备性能、修复系统漏洞或增加新功能。对于基于MediaTek(MTK)芯片组的设备,SP_Flash_Tool.exe是一个...
《SP_Flash_Tool_exe_Windows_v5.1720.00.000.zip:联发科Android设备刷机利器》 在Android设备的世界里,刷机是一种常见的个性化和优化操作,它允许用户根据自己的需求更换系统、安装特定固件或者修复设备问题。而...
《MTK平台ROM烧录工具——SP_Flash_Tool详解》 MTK,全称为MediaTek,是全球知名的半导体公司,其在手机芯片领域有着广泛的应用。对于开发人员和手机爱好者来说,MTK平台的ROM烧录工具——SP_Flash_Tool(Smart ...