--如果表比较大,时间会比较长
DECLARE @searchValue NVARCHAR(50)
SET @searchValue='1234'
DECLARE @t TABLE (
rowNum INT IDENTITY(1,1) PRIMARY KEY,
tableName NVARCHAR(50),
colunName NVARCHAR(50),
SQL NVARCHAR(MAX),
cnt INT
)
INSERT INTO @t (tableName,colunName,SQL)
SELECT t.name,c.name,'select @cnt=count(1) from '+t.name +' with(nolock) where '+c.name+'='''+@searchValue+''''
FROM sys.tables AS t INNER JOIN sys.[columns] AS c ON t.[object_id]=c.[object_id]

DECLARE @i INT,@iMax INT,@sql NVARCHAR(MAX),@cnt INT
SELECT @i=1,@iMax= MAX(rowNum) FROM @t

WHILE @i<=@iMax
BEGIN
SELECT @sql=sql FROM @t WHERE rowNum=@i
PRINT @sql
EXEC sp_executesql @sql,N'@cnt int out',@cnt OUT
UPDATE @t SET SQL=@sql,cnt=@cnt WHERE rowNum=@i
SET @i=@i+1
END

SELECT * FROM @t WHERE cnt>0

相关文章:

  • 2021-11-22
  • 2021-05-31
  • 2021-12-24
  • 2021-10-29
  • 2021-07-18
猜你喜欢
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-19
  • 2022-12-23
相关资源
相似解决方案