热搜词: 

数据库不知道表名怎么查数据

发布:泣孟蕴

壹、问sql数据库大神,我想查询某个数据库其中的一个数据,我不知道在哪个表,也不知道哪个列,只知道他的CreateProceduresp_Search(@ValVarchar(4000))
作为
开始
声明@TBNameVarchar(200)
声明@ColNameVarchar(200)
声明@Rstint
声明@SqlNVarchar(4000)
声明@TBTable(TbNameVarchar(200),ColNameVarchar(200))
DeclaremyCurCursorFor
SelectA.Name,B.NameFromsys.objectsAInnerjoinsys.object_id=。 b.object_id
WhereA.Type='U'Andsystem_Type_IDin(35,99,167,175,231,239)
OpenmyCur;
FetchNextFrommyCurInto@TBName,@ColName
While_STA/@TUSFETCH=0Begin
Set@Sql='IfExists(Select*From['+@TBName+']Where['+@ColName+']Like@Val)'
Set@Sql=@Sql+'Set@Rst=1'
Set@Sql=@Sql+'Else'
Set@Sql=@Sql+'Set@Rst=0'
Execsp_Executesql@sql,N'@ValVarchar(4000),@Rstintoutput',@Val,@Rstoutput
If(@Rst=1)
InsertInto@TBvalues(@TBName,@ColName)
FetchNextFrommyCurInto@TBName,@ColName
End
ClosemyCur
DeAllocatemyCur
Select*From@TB
End
/*
测试:
Execsp_search'content'
Execsp_search'%content%'
上面查询包含的字段数据类型有Char、Varchar、Text、NChar、NVarchar、NText
思路:
先查询所有表中的所有字符字段,然后查询值每个表中每一列的值等于@Val。 如果是,则存储表名和字段名,最后返回结果
*/
--可以。 ,这是一个存储过程。 遍历每个表中的每一列不需要您单独编写SQL。

贰、关于数据库在不知道表名,不知道字段名情况下的查询如果您的数据库是sqlserver,您可以尝试执行您库中“1.给定字符串查找表”下面的存储过程
https://blog.sina.com/blog_9f39f0c70102ux87.html。
将useDatabase改为你的数据库,执行存储过程后执行
execFull_Search'小明'

以上就是关于数据库不知道表名怎么查数据的全部内容,希望能够帮到您。

大家都在看

查看更多综合百科