MSSQL遍历数据库根据列值查询数据

打印 上一主题 下一主题

主题 1969|帖子 1969|积分 5907

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
--受理编号
declare @slbh varchar(100),@searchColumn varchar(100)
--设置被查询列值
set @slbh='201703160009'
--设置搜索列名
set @searchColumn='SLBH'
declare @tableName varchar(50)
declare @sql nvarchar(max),@count int
set @sql=N''
set NOCOUNT ON
--优先输出表,再到视图
declare tableCursor cursor for select name from sysobjects where xtype='U' --OR xtype='V'
        order by xtype asc,name asc
open tableCursor
Fetch next from tableCursor into @tablename
while @@FETCH_STATUS=0
        begin
                if exists(select name from sys.syscolumns where id=OBJECT_ID(@tableName) and name=@searchColumn)
                        begin
                                set @sql='select @count=count(*) from '+@tableName+' where '+@searchColumn+'='''+@slbh+''''
                                exec sp_executesql @sql,N'@count int output',@count output
                                if @count>0
                                        begin
                                                select '表名:'+@tableName
                                                set @sql='select * from '+@tableName+' where '+@searchColumn+'='''+@slbh+''''
                                                exec (@sql)
                                        end
                        end
                Fetch next from tableCursor into @tablename
        end
close tableCursor
deallocate tableCursor
set NOCOUNT OFF
翻译
搜索
复制

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

科技颠覆者

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表