現有一需求,需要查詢庫中所有包含某值,并且某列的值等于指定內容的所有表信息,
如整個庫中查找值=‘123’,并且ID列的值=1的所有表名,123所對應的字段名,
例:表A有字段
id,name,agesql 查詢值所在的表,sex
男
男
女
表B有
id,class,name,like
唱歌
跑步
現查找含有123的,id=1的數據結果為
表名列名
表Aname
表
請大神幫忙sql 查詢值所在的表,現在可以查詢包含123的表信息,但無法加條件(id=1)
查找所有包含123的存儲過程為:
[dbo].[]
(
@(1024)
)
AS
BEGIN
--sfrom
--.
;
@(1024)
@(64)
@(64)
#t(
(64),
(64)
)
FOR
.name,c.name
ONc.id=o.id
.type='U'ANDc.(167,175,231,239)
.name,c.name
INTO@table,@
WHILE@@=0
BEGIN
SET@sql='(['+@table+']'
SET@sql=@sql+'(LTRIM(['+@+']))LIKE''%'+@value+'%'')'
SET@sql=@sql+'#('''+@table+''','''
SET@sql=@sql+@+''')'
EXEC(@sql)
INTO@table,@
END
*
FROM#t
#t
End
GO
如何在此基礎上添加條件id=1或者有沒有其他方法實現?